melonjs 15.3.0 → 15.4.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 +53 -5
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +4 -8
- package/dist/melonjs.mjs/application/settings.js +5 -5
- package/dist/melonjs.mjs/audio/audio.js +4 -6
- package/dist/melonjs.mjs/camera/camera2d.js +12 -14
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/entity/entity.js +3 -4
- package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
- package/dist/melonjs.mjs/geometries/line.js +18 -25
- package/dist/melonjs.mjs/geometries/path2d.js +16 -13
- package/dist/melonjs.mjs/geometries/point.js +8 -16
- package/dist/melonjs.mjs/geometries/poly.js +40 -97
- package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
- package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
- package/dist/melonjs.mjs/index.js +6 -6
- 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 +3 -3
- package/dist/melonjs.mjs/input/pointer.js +4 -4
- package/dist/melonjs.mjs/input/pointerevent.js +6 -7
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +2 -2
- 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 +16 -33
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +26 -29
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
- 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/parser.js +4 -5
- package/dist/melonjs.mjs/loader/settings.js +1 -1
- package/dist/melonjs.mjs/math/color.js +2 -2
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +5 -59
- package/dist/melonjs.mjs/math/matrix3.js +82 -141
- package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
- package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
- package/dist/melonjs.mjs/math/vector2.js +7 -91
- package/dist/melonjs.mjs/math/vector3.js +6 -90
- 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 +2 -2
- package/dist/melonjs.mjs/particles/particle.js +2 -2
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +22 -20
- package/dist/melonjs.mjs/physics/bounds.js +27 -33
- package/dist/melonjs.mjs/physics/collision.js +5 -5
- package/dist/melonjs.mjs/physics/detector.js +10 -10
- package/dist/melonjs.mjs/physics/quadtree.js +5 -5
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +3 -4
- package/dist/melonjs.mjs/physics/world.js +6 -9
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +2 -2
- package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
- package/dist/melonjs.mjs/renderable/container.js +25 -25
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
- package/dist/melonjs.mjs/renderable/light2d.js +3 -3
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
- package/dist/melonjs.mjs/renderable/renderable.js +26 -26
- package/dist/melonjs.mjs/renderable/sprite.js +3 -3
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
- package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
- package/dist/melonjs.mjs/renderable/text/text.js +422 -0
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
- package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
- package/dist/melonjs.mjs/renderable/trigger.js +10 -10
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
- package/dist/melonjs.mjs/state/stage.js +2 -2
- package/dist/melonjs.mjs/state/state.js +1 -38
- package/dist/melonjs.mjs/system/device.js +49 -10
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +24 -2
- package/dist/melonjs.mjs/system/platform.js +18 -18
- package/dist/melonjs.mjs/system/pooling.js +10 -10
- 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 +3 -6
- 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 +2 -3
- 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 +3 -7
- package/dist/melonjs.mjs/video/renderer.js +16 -16
- package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
- package/dist/melonjs.mjs/video/texture/cache.js +1 -1
- package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +4 -4
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
- package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
- 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 +4 -4
- 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 +50 -52
- package/dist/melonjs.module.js +1137 -1576
- package/dist/types/application/application.d.ts +28 -4
- package/dist/types/application/header.d.ts +2 -2
- package/dist/types/application/settings.d.ts +23 -23
- package/dist/types/audio/audio.d.ts +4 -6
- package/dist/types/camera/camera2d.d.ts +13 -16
- package/dist/types/entity/entity.d.ts +0 -1
- package/dist/types/geometries/ellipse.d.ts +18 -50
- package/dist/types/geometries/path2d.d.ts +1 -1
- package/dist/types/geometries/point.d.ts +5 -13
- package/dist/types/geometries/poly.d.ts +26 -75
- package/dist/types/geometries/rectangle.d.ts +12 -58
- package/dist/types/geometries/roundrect.d.ts +2 -11
- package/dist/types/index.d.ts +3 -3
- package/dist/types/input/gamepad.d.ts +31 -31
- package/dist/types/input/keyboard.d.ts +105 -105
- package/dist/types/input/pointer.d.ts +21 -21
- package/dist/types/input/pointerevent.d.ts +6 -6
- package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
- package/dist/types/math/matrix2.d.ts +9 -63
- package/dist/types/math/matrix3.d.ts +9 -68
- package/dist/types/math/observable_vector2.d.ts +2 -2
- package/dist/types/math/observable_vector3.d.ts +2 -2
- package/dist/types/math/vector2.d.ts +8 -92
- package/dist/types/math/vector3.d.ts +8 -92
- package/dist/types/particles/settings.d.ts +29 -29
- package/dist/types/physics/body.d.ts +10 -8
- package/dist/types/physics/bounds.d.ts +24 -30
- package/dist/types/physics/collision.d.ts +12 -12
- package/dist/types/physics/detector.d.ts +1 -1
- package/dist/types/physics/world.d.ts +4 -7
- package/dist/types/renderable/container.d.ts +19 -19
- package/dist/types/renderable/imagelayer.d.ts +6 -6
- package/dist/types/renderable/light2d.d.ts +7 -7
- package/dist/types/renderable/renderable.d.ts +9 -16
- package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
- package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
- package/dist/types/renderable/text/glyph.d.ts +28 -0
- package/dist/types/renderable/text/text.d.ts +159 -0
- package/dist/types/renderable/text/textmetrics.d.ts +47 -0
- package/dist/types/renderable/text/textstyle.d.ts +5 -0
- package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
- package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
- package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
- package/dist/types/state/state.d.ts +11 -11
- package/dist/types/system/device.d.ts +15 -9
- package/dist/types/system/event.d.ts +20 -0
- package/dist/types/system/platform.d.ts +17 -17
- package/dist/types/utils/function.d.ts +1 -2
- package/dist/types/video/renderer.d.ts +13 -13
- package/dist/types/video/texture/canvas_texture.d.ts +14 -14
- package/dist/types/video/video.d.ts +2 -2
- package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
- package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
- package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
- package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
- package/dist/types/video/webgl/utils/precision.d.ts +1 -1
- package/dist/types/video/webgl/webgl_renderer.d.ts +47 -50
- package/package.json +15 -15
- package/src/application/application.js +51 -3
- package/src/application/header.js +1 -1
- package/src/application/resize.js +3 -7
- package/src/application/settings.js +4 -4
- package/src/audio/audio.js +3 -5
- package/src/camera/camera2d.js +11 -13
- package/src/entity/entity.js +2 -3
- package/src/geometries/ellipse.js +25 -58
- package/src/geometries/line.js +17 -24
- package/src/geometries/path2d.js +15 -12
- package/src/geometries/point.js +7 -15
- package/src/geometries/poly.js +39 -96
- package/src/geometries/rectangle.js +36 -90
- package/src/geometries/roundrect.js +25 -34
- package/src/index.js +4 -4
- package/src/input/keyboard.js +2 -2
- package/src/input/pointer.js +3 -3
- package/src/input/pointerevent.js +5 -6
- package/src/lang/deprecated.js +1 -1
- package/src/level/tiled/TMXLayer.js +15 -32
- package/src/level/tiled/TMXObject.js +2 -3
- package/src/level/tiled/TMXTile.js +3 -3
- package/src/level/tiled/TMXTileMap.js +2 -2
- package/src/level/tiled/TMXTileset.js +3 -6
- package/src/level/tiled/TMXTilesetGroup.js +1 -1
- package/src/level/tiled/TMXUtils.js +25 -28
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXRenderer.js +1 -1
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/src/loader/parser.js +3 -4
- package/src/math/color.js +1 -1
- package/src/math/matrix2.js +4 -58
- package/src/math/matrix3.js +81 -140
- package/src/math/observable_vector2.js +6 -6
- package/src/math/observable_vector3.js +4 -4
- package/src/math/vector2.js +6 -90
- package/src/math/vector3.js +5 -89
- package/src/particles/emitter.js +1 -1
- package/src/particles/particle.js +1 -1
- package/src/physics/body.js +21 -19
- package/src/physics/bounds.js +26 -32
- package/src/physics/collision.js +4 -4
- package/src/physics/detector.js +9 -9
- package/src/physics/quadtree.js +4 -4
- package/src/physics/sat.js +2 -3
- package/src/physics/world.js +5 -8
- package/src/polyfill/roundrect.js +163 -163
- package/src/renderable/collectable.js +1 -1
- package/src/renderable/colorlayer.js +3 -3
- package/src/renderable/container.js +24 -24
- package/src/renderable/imagelayer.js +3 -3
- package/src/renderable/light2d.js +2 -2
- package/src/renderable/nineslicesprite.js +1 -1
- package/src/renderable/renderable.js +25 -25
- package/src/renderable/sprite.js +2 -2
- package/src/{text → renderable/text}/bitmaptext.js +8 -8
- package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
- package/src/{text → renderable/text}/glyph.js +1 -1
- package/src/{text → renderable/text}/text.js +16 -17
- package/src/{text → renderable/text}/textmetrics.js +2 -2
- package/src/renderable/trigger.js +9 -9
- package/src/renderable/ui/uibaseelement.js +6 -6
- package/src/renderable/ui/uispriteelement.js +6 -6
- package/src/renderable/ui/uitextbutton.js +2 -2
- package/src/state/stage.js +1 -1
- package/src/state/state.js +0 -49
- package/src/system/device.js +48 -9
- package/src/system/event.js +22 -0
- package/src/system/platform.js +18 -18
- package/src/system/pooling.js +9 -9
- package/src/tweens/tween.js +1 -1
- package/src/utils/function.js +1 -2
- package/src/video/canvas/canvas_renderer.js +2 -6
- package/src/video/renderer.js +15 -15
- package/src/video/texture/atlas.js +12 -12
- package/src/video/texture/canvas_texture.js +14 -14
- package/src/video/video.js +3 -3
- package/src/video/webgl/buffer/vertex.js +2 -2
- package/src/video/webgl/compositors/compositor.js +12 -13
- package/src/video/webgl/compositors/primitive_compositor.js +4 -4
- package/src/video/webgl/compositors/quad_compositor.js +1 -2
- package/src/video/webgl/glshader.js +1 -1
- package/src/video/webgl/utils/precision.js +3 -3
- package/src/video/webgl/webgl_renderer.js +49 -51
- /package/src/{text → renderable/text}/textstyle.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -17,7 +17,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
17
17
|
* Use this for example if you want to display a panel that contains text, images or other UI elements.
|
|
18
18
|
* @augments Container
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
class UIBaseElement extends Container {
|
|
21
21
|
/**
|
|
22
22
|
*
|
|
23
23
|
* @param {number} x - The x position of the container
|
|
@@ -95,7 +95,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
95
95
|
clicked(event) {
|
|
96
96
|
// Check if left mouse button is pressed
|
|
97
97
|
if (event.button === 0 && this.isClickable) {
|
|
98
|
-
this.
|
|
98
|
+
this.isDirty = true;
|
|
99
99
|
this.released = false;
|
|
100
100
|
if (this.isHoldable) {
|
|
101
101
|
timer.clearTimeout(this.holdTimeout);
|
|
@@ -129,7 +129,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
129
129
|
*/
|
|
130
130
|
enter(event) {
|
|
131
131
|
this.hover = true;
|
|
132
|
-
this.
|
|
132
|
+
this.isDirty = true;
|
|
133
133
|
if (this.isDraggable === true) {
|
|
134
134
|
on(POINTERMOVE, this.pointerMove, this);
|
|
135
135
|
// to memorize where we grab the object
|
|
@@ -175,7 +175,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
175
175
|
*/
|
|
176
176
|
leave(event) {
|
|
177
177
|
this.hover = false;
|
|
178
|
-
this.
|
|
178
|
+
this.isDirty = true;
|
|
179
179
|
if (this.isDraggable === true) {
|
|
180
180
|
// unregister on the global pointermove event
|
|
181
181
|
off(POINTERMOVE, this.pointerMove);
|
|
@@ -201,7 +201,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
201
201
|
release(event) {
|
|
202
202
|
if (this.released === false) {
|
|
203
203
|
this.released = true;
|
|
204
|
-
this.
|
|
204
|
+
this.isDirty = true;
|
|
205
205
|
timer.clearTimeout(this.holdTimeout);
|
|
206
206
|
this.holdTimeout = -1;
|
|
207
207
|
return this.onRelease(event);
|
|
@@ -223,7 +223,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
223
223
|
hold() {
|
|
224
224
|
timer.clearTimeout(this.holdTimeout);
|
|
225
225
|
this.holdTimeout = -1;
|
|
226
|
-
this.
|
|
226
|
+
this.isDirty = true;
|
|
227
227
|
if (!this.released) {
|
|
228
228
|
this.onHold();
|
|
229
229
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -14,7 +14,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
14
14
|
* This is a basic sprite based button which you can use in your Game UI.
|
|
15
15
|
* @augments Sprite
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
class UISpriteElement extends Sprite {
|
|
18
18
|
/**
|
|
19
19
|
* @param {number} x - the x coordinate of the UISpriteElement Object
|
|
20
20
|
* @param {number} y - the y coordinate of the UISpriteElement Object
|
|
@@ -100,7 +100,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
100
100
|
clicked(event) {
|
|
101
101
|
// Check if left mouse button is pressed
|
|
102
102
|
if (event.button === 0 && this.isClickable) {
|
|
103
|
-
this.
|
|
103
|
+
this.isDirty = true;
|
|
104
104
|
this.released = false;
|
|
105
105
|
if (this.isHoldable) {
|
|
106
106
|
timer.clearTimeout(this.holdTimeout);
|
|
@@ -126,7 +126,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
126
126
|
*/
|
|
127
127
|
enter(event) {
|
|
128
128
|
this.hover = true;
|
|
129
|
-
this.
|
|
129
|
+
this.isDirty = true;
|
|
130
130
|
return this.onOver(event);
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -144,7 +144,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
144
144
|
*/
|
|
145
145
|
leave(event) {
|
|
146
146
|
this.hover = false;
|
|
147
|
-
this.
|
|
147
|
+
this.isDirty = true;
|
|
148
148
|
this.release(event);
|
|
149
149
|
return this.onOut(event);
|
|
150
150
|
}
|
|
@@ -164,7 +164,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
164
164
|
release(event) {
|
|
165
165
|
if (this.released === false) {
|
|
166
166
|
this.released = true;
|
|
167
|
-
this.
|
|
167
|
+
this.isDirty = true;
|
|
168
168
|
timer.clearTimeout(this.holdTimeout);
|
|
169
169
|
this.holdTimeout = -1;
|
|
170
170
|
return this.onRelease(event);
|
|
@@ -186,7 +186,7 @@ import { registerPointerEvent, releasePointerEvent } from '../../input/pointerev
|
|
|
186
186
|
hold() {
|
|
187
187
|
timer.clearTimeout(this.holdTimeout);
|
|
188
188
|
this.holdTimeout = -1;
|
|
189
|
-
this.
|
|
189
|
+
this.isDirty = true;
|
|
190
190
|
if (!this.released) {
|
|
191
191
|
this.onHold();
|
|
192
192
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
-
import BitmapText from '
|
|
8
|
+
import BitmapText from '../text/bitmaptext.js';
|
|
9
9
|
import RoundRect from '../../geometries/roundrect.js';
|
|
10
10
|
import UIBaseElement from './uibaseelement.js';
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ import UIBaseElement from './uibaseelement.js';
|
|
|
14
14
|
* This is a basic base text button which you can use in your Game UI.
|
|
15
15
|
* @augments UIBaseElement
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
class UITextButton extends UIBaseElement {
|
|
18
18
|
/**
|
|
19
19
|
* A Bitmap Text Button with an outlined background border, filled with background color.
|
|
20
20
|
* It uses a RoundRect as background and changes the background color on hovering over.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -25,7 +25,7 @@ let default_settings = {
|
|
|
25
25
|
* through the state manager must inherit from this base class.
|
|
26
26
|
* @see state
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
class Stage {
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* @param {object} [settings] - The stage` parameters
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -9,7 +9,6 @@ import { pauseTrack, resumeTrack } from '../audio/audio.js';
|
|
|
9
9
|
import { defer } from '../utils/function.js';
|
|
10
10
|
import { on, VIDEO_INIT, BOOT, emit, STATE_STOP, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_CHANGE, TICK } from '../system/event.js';
|
|
11
11
|
import { game } from '../index.js';
|
|
12
|
-
import { focus } from '../system/device.js';
|
|
13
12
|
import Stage from './stage.js';
|
|
14
13
|
import DefaultLoadingScreen from '../loader/loadingscreen.js';
|
|
15
14
|
|
|
@@ -140,42 +139,6 @@ on(BOOT, () => {
|
|
|
140
139
|
on(VIDEO_INIT, () => {
|
|
141
140
|
state.change(state.DEFAULT, true);
|
|
142
141
|
});
|
|
143
|
-
|
|
144
|
-
if (typeof globalThis.addEventListener === "function") {
|
|
145
|
-
// set pause/stop action on losing focus
|
|
146
|
-
globalThis.addEventListener("blur", () => {
|
|
147
|
-
{
|
|
148
|
-
state.pause(true);
|
|
149
|
-
}
|
|
150
|
-
}, false);
|
|
151
|
-
// set restart/resume action on gaining focus
|
|
152
|
-
globalThis.addEventListener("focus", () => {
|
|
153
|
-
{
|
|
154
|
-
state.resume(true);
|
|
155
|
-
}
|
|
156
|
-
// force focus if autofocus is on
|
|
157
|
-
{
|
|
158
|
-
focus();
|
|
159
|
-
}
|
|
160
|
-
}, false);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (typeof globalThis.document !== "undefined") {
|
|
164
|
-
if (typeof globalThis.document.addEventListener === "function") {
|
|
165
|
-
// register on the visibilitychange event if supported
|
|
166
|
-
globalThis.document.addEventListener("visibilitychange", () => {
|
|
167
|
-
if (globalThis.document.visibilityState === "visible") {
|
|
168
|
-
{
|
|
169
|
-
state.resume(true);
|
|
170
|
-
}
|
|
171
|
-
} else {
|
|
172
|
-
{
|
|
173
|
-
state.pause(true);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, false );
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
142
|
});
|
|
180
143
|
|
|
181
144
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { getParent } from '../video/video.js';
|
|
9
9
|
import save from './save.js';
|
|
10
|
+
import { emit, BLUR, FOCUS } from './event.js';
|
|
10
11
|
import { prefixed } from '../utils/agent.js';
|
|
11
12
|
import { DOMContentLoaded } from './dom.js';
|
|
12
13
|
import * as platform$1 from './platform.js';
|
|
@@ -356,6 +357,8 @@ let alpha = 0;
|
|
|
356
357
|
* Specify whether to pause the game when losing focus
|
|
357
358
|
* @name pauseOnBlur
|
|
358
359
|
* @memberof device
|
|
360
|
+
* @deprecated since 15.4.0
|
|
361
|
+
* @see Application.pauseOnBlur
|
|
359
362
|
* @type {boolean}
|
|
360
363
|
* @public
|
|
361
364
|
* @default true
|
|
@@ -366,6 +369,8 @@ let pauseOnBlur = true;
|
|
|
366
369
|
* Specify whether to unpause the game when gaining focus
|
|
367
370
|
* @name resumeOnFocus
|
|
368
371
|
* @memberof device
|
|
372
|
+
* @deprecated since 15.4.0
|
|
373
|
+
* @see Application.resumeOnFocus
|
|
369
374
|
* @type {boolean}
|
|
370
375
|
* @public
|
|
371
376
|
* @default true
|
|
@@ -373,25 +378,27 @@ let pauseOnBlur = true;
|
|
|
373
378
|
let resumeOnFocus = true;
|
|
374
379
|
|
|
375
380
|
/**
|
|
376
|
-
* Specify whether to
|
|
377
|
-
*
|
|
381
|
+
* Specify whether to stop the game when losing focus or not.
|
|
382
|
+
* The engine restarts on focus if this is enabled.
|
|
383
|
+
* @name stopOnBlur
|
|
378
384
|
* @memberof device
|
|
385
|
+
* @deprecated since 15.4.0
|
|
386
|
+
* @see Application.stopOnBlur
|
|
379
387
|
* @type {boolean}
|
|
380
388
|
* @public
|
|
381
|
-
* @default
|
|
389
|
+
* @default false
|
|
382
390
|
*/
|
|
383
|
-
let
|
|
391
|
+
let stopOnBlur = false;
|
|
384
392
|
|
|
385
393
|
/**
|
|
386
|
-
* Specify whether to
|
|
387
|
-
*
|
|
388
|
-
* @name stopOnBlur
|
|
394
|
+
* Specify whether to automatically bring the window to the front
|
|
395
|
+
* @name autoFocus
|
|
389
396
|
* @memberof device
|
|
390
397
|
* @type {boolean}
|
|
391
398
|
* @public
|
|
392
|
-
* @default
|
|
399
|
+
* @default true
|
|
393
400
|
*/
|
|
394
|
-
let
|
|
401
|
+
let autoFocus = true;
|
|
395
402
|
|
|
396
403
|
/**
|
|
397
404
|
* specify a function to execute when the Device is fully loaded and ready
|
|
@@ -439,6 +446,38 @@ let stopOnBlur = false;
|
|
|
439
446
|
* });
|
|
440
447
|
*/
|
|
441
448
|
function onReady(fn) {
|
|
449
|
+
// register on blur/focus and visibility event handlers
|
|
450
|
+
if (typeof globalThis.addEventListener === "function") {
|
|
451
|
+
// set pause/stop action on losing focus
|
|
452
|
+
globalThis.addEventListener("blur", () => {
|
|
453
|
+
emit(BLUR);
|
|
454
|
+
}, false);
|
|
455
|
+
// set restart/resume action on gaining focus
|
|
456
|
+
globalThis.addEventListener("focus", () => {
|
|
457
|
+
emit(FOCUS);
|
|
458
|
+
// force focus if autofocus is on
|
|
459
|
+
{
|
|
460
|
+
focus();
|
|
461
|
+
}
|
|
462
|
+
}, false);
|
|
463
|
+
}
|
|
464
|
+
if (typeof globalThis.document !== "undefined") {
|
|
465
|
+
if (typeof globalThis.document.addEventListener === "function") {
|
|
466
|
+
// register on the visibilitychange event if supported
|
|
467
|
+
globalThis.document.addEventListener("visibilitychange", () => {
|
|
468
|
+
if (globalThis.document.visibilityState === "visible") {
|
|
469
|
+
emit(FOCUS);
|
|
470
|
+
// force focus if autofocus is on
|
|
471
|
+
{
|
|
472
|
+
focus();
|
|
473
|
+
}
|
|
474
|
+
} else {
|
|
475
|
+
emit(BLUR);
|
|
476
|
+
}
|
|
477
|
+
}, false );
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
// call the supplied function
|
|
442
481
|
DOMContentLoaded(fn);
|
|
443
482
|
}
|
|
444
483
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -48,6 +48,28 @@ const BOOT = "me.boot";
|
|
|
48
48
|
*/
|
|
49
49
|
const TICK = "me.tick";
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* event generated when the main browser or window is losing focus
|
|
53
|
+
* @public
|
|
54
|
+
* @constant
|
|
55
|
+
* @type {string}
|
|
56
|
+
* @name BLUR
|
|
57
|
+
* @memberof event
|
|
58
|
+
* @see event.on
|
|
59
|
+
*/
|
|
60
|
+
const BLUR = "me.blur";
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* event generated when the main browser or window is gaining back focus
|
|
64
|
+
* @public
|
|
65
|
+
* @constant
|
|
66
|
+
* @type {string}
|
|
67
|
+
* @name FOCUS
|
|
68
|
+
* @memberof event
|
|
69
|
+
* @see event.on
|
|
70
|
+
*/
|
|
71
|
+
const FOCUS = "me.focus";
|
|
72
|
+
|
|
51
73
|
/**
|
|
52
74
|
* event when the game is paused <br>
|
|
53
75
|
* Data passed : none <br>
|
|
@@ -556,4 +578,4 @@ function off(eventName, listener) {
|
|
|
556
578
|
return eventEmitter.off(eventName, listener);
|
|
557
579
|
}
|
|
558
580
|
|
|
559
|
-
export { BOOT, CANVAS_ONRESIZE, DOM_READY, DRAGEND, DRAGSTART, GAMEPAD_CONNECTED, GAMEPAD_DISCONNECTED, GAMEPAD_UPDATE, GAME_AFTER_DRAW, GAME_AFTER_UPDATE, GAME_BEFORE_DRAW, GAME_BEFORE_UPDATE, GAME_INIT, GAME_RESET, GAME_UPDATE, KEYDOWN, KEYUP, LEVEL_LOADED, LOADER_COMPLETE, LOADER_PROGRESS, ONCONTEXT_LOST, ONCONTEXT_RESTORED, POINTERLOCKCHANGE, POINTERMOVE, STAGE_RESET, STATE_CHANGE, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_STOP, TICK, VIDEO_INIT, VIEWPORT_ONCHANGE, VIEWPORT_ONRESIZE, WINDOW_ONORIENTATION_CHANGE, WINDOW_ONRESIZE, WINDOW_ONSCROLL, emit, off, on, once };
|
|
581
|
+
export { BLUR, BOOT, CANVAS_ONRESIZE, DOM_READY, DRAGEND, DRAGSTART, FOCUS, GAMEPAD_CONNECTED, GAMEPAD_DISCONNECTED, GAMEPAD_UPDATE, GAME_AFTER_DRAW, GAME_AFTER_UPDATE, GAME_BEFORE_DRAW, GAME_BEFORE_UPDATE, GAME_INIT, GAME_RESET, GAME_UPDATE, KEYDOWN, KEYUP, LEVEL_LOADED, LOADER_COMPLETE, LOADER_PROGRESS, ONCONTEXT_LOST, ONCONTEXT_RESTORED, POINTERLOCKCHANGE, POINTERMOVE, STAGE_RESET, STATE_CHANGE, STATE_PAUSE, STATE_RESTART, STATE_RESUME, STATE_STOP, TICK, VIDEO_INIT, VIEWPORT_ONCHANGE, VIEWPORT_ONRESIZE, WINDOW_ONORIENTATION_CHANGE, WINDOW_ONRESIZE, WINDOW_ONSCROLL, emit, off, on, once };
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
* The device platform type
|
|
10
|
+
* @namespace platform
|
|
11
|
+
* @memberof device
|
|
12
|
+
* @property {string} ua the user agent string for the current device
|
|
13
|
+
* @property {boolean} iOS `true` if the device is an iOS platform
|
|
14
|
+
* @property {boolean} android `true` if the device is an Android platform
|
|
15
|
+
* @property {boolean} android2 `true` if the device is an Android 2.x platform
|
|
16
|
+
* @property {boolean} linux `true` if the device is a Linux platform
|
|
17
|
+
* @property {boolean} chromeOS `true` if the device is running on ChromeOS.
|
|
18
|
+
* @property {boolean} wp `true` if the device is a Windows Phone platform
|
|
19
|
+
* @property {boolean} BlackBerry`true` if the device is a BlackBerry platform
|
|
20
|
+
* @property {boolean} Kindle`true` if the device is a Kindle platform
|
|
21
|
+
* @property {boolean} ejecta `true` if running under Ejecta
|
|
22
|
+
* @property {boolean} isWeixin `true` if running under Wechat
|
|
23
|
+
* @property {boolean} nodeJS `true` if running under node.js
|
|
24
|
+
* @property {boolean} isMobile `true` if a mobile device
|
|
25
|
+
*/
|
|
26
26
|
|
|
27
27
|
const ua = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.userAgent : "";
|
|
28
28
|
const iOS = /iPhone|iPad|iPod/i.test(ua);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -45,15 +45,15 @@ class ObjectPool {
|
|
|
45
45
|
* me.pool.register("cherrysprite", Cherry, true);
|
|
46
46
|
*/
|
|
47
47
|
register(className, classObj, recycling = false) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
if (typeof (classObj) !== "undefined") {
|
|
49
|
+
this.objectClass[className] = {
|
|
50
|
+
"class" : classObj,
|
|
51
|
+
"pool" : (recycling ? [] : undefined)
|
|
52
|
+
};
|
|
53
|
+
} else {
|
|
54
|
+
throw new Error("Cannot register object '" + className + "', invalid class");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Pull a new instance of the requested object (if added into the object pool)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -123,14 +123,11 @@ function createSpaceGlyph(glyphs) {
|
|
|
123
123
|
this.lineHeight = parseFloat(getValueFromPair(lines[1], /lineHeight\=\d+/g));
|
|
124
124
|
|
|
125
125
|
let baseLine = parseFloat(getValueFromPair(lines[1], /base\=\d+/g));
|
|
126
|
-
|
|
127
126
|
let padY = this.padTop + this.padBottom;
|
|
128
|
-
|
|
129
127
|
let glyph = null;
|
|
130
128
|
|
|
131
|
-
let i;
|
|
132
129
|
|
|
133
|
-
for (i = 4; i < lines.length; i++) {
|
|
130
|
+
for (let i = 4; i < lines.length; i++) {
|
|
134
131
|
let line = lines[i];
|
|
135
132
|
let characterValues = line.split(/=|\s+/);
|
|
136
133
|
if (!line || /^kernings/.test(line)) {
|
|
@@ -171,7 +168,7 @@ function createSpaceGlyph(glyphs) {
|
|
|
171
168
|
createSpaceGlyph(this.glyphs);
|
|
172
169
|
|
|
173
170
|
let capGlyph = null;
|
|
174
|
-
for (i = 0; i < capChars.length; i++) {
|
|
171
|
+
for (let i = 0; i < capChars.length; i++) {
|
|
175
172
|
let capChar = capChars[i];
|
|
176
173
|
capGlyph = this.glyphs[capChar.charCodeAt(0)];
|
|
177
174
|
if (capGlyph) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -30,7 +30,7 @@ import { Interpolation } from './interpolation.js';
|
|
|
30
30
|
* author lechecacharro<br>
|
|
31
31
|
* author Josh Faul / http://jocafa.com/
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
class Tween {
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* @param {object} object - object on which to apply the tween
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Game Engine - v15.
|
|
2
|
+
* melonJS Game Engine - v15.4.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
|
|
@@ -30,8 +30,7 @@ function defer(func, thisArg, ...args) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
* returns a function that, when invoked will only be triggered at most
|
|
34
|
-
* once during a given window of time
|
|
33
|
+
* returns a function that, when invoked will only be triggered at most once during a given window of time
|
|
35
34
|
* @public
|
|
36
35
|
* @memberof utils.function
|
|
37
36
|
* @name throttle
|