melonjs 10.6.1 → 10.8.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.js +37947 -36530
- package/dist/melonjs.min.js +22 -22
- package/dist/melonjs.module.d.ts +1352 -307
- package/dist/melonjs.module.js +2929 -1501
- package/package.json +14 -12
- package/src/camera/camera2d.js +1 -1
- package/src/entity/entity.js +6 -7
- package/src/game.js +5 -5
- package/src/geometries/ellipse.js +10 -11
- package/src/geometries/line.js +3 -3
- package/src/geometries/path2d.js +319 -0
- package/src/geometries/poly.js +11 -11
- package/src/geometries/rectangle.js +30 -15
- package/src/geometries/roundrect.js +67 -0
- package/src/index.js +9 -5
- package/src/input/gamepad.js +12 -10
- package/src/input/keyboard.js +5 -3
- package/src/input/pointer.js +1 -1
- package/src/input/pointerevent.js +3 -4
- package/src/lang/deprecated.js +1 -1
- package/src/level/tiled/TMXLayer.js +1 -1
- package/src/level/tiled/TMXObject.js +9 -12
- package/src/level/tiled/TMXTileMap.js +23 -4
- package/src/level/tiled/TMXUtils.js +1 -1
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
- 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/loader.js +5 -5
- package/src/loader/loadingscreen.js +1 -1
- package/src/math/color.js +1 -1
- package/src/math/matrix2.js +1 -1
- package/src/math/matrix3.js +67 -66
- package/src/math/observable_vector2.js +1 -1
- package/src/math/observable_vector3.js +1 -1
- package/src/math/vector2.js +1 -1
- package/src/math/vector3.js +1 -1
- package/src/particles/emitter.js +130 -430
- package/src/particles/particle.js +53 -53
- package/src/particles/settings.js +310 -0
- package/src/physics/body.js +67 -51
- package/src/physics/bounds.js +8 -9
- package/src/physics/world.js +1 -1
- package/src/polyfill/console.js +7 -7
- package/src/polyfill/index.js +7 -0
- package/src/polyfill/performance.js +20 -0
- package/src/polyfill/requestAnimationFrame.js +10 -10
- package/src/renderable/collectable.js +9 -2
- package/src/renderable/colorlayer.js +1 -1
- package/src/renderable/container.js +1 -1
- package/src/renderable/imagelayer.js +3 -3
- package/src/renderable/renderable.js +1 -1
- package/src/renderable/sprite.js +2 -3
- package/src/renderable/trigger.js +10 -4
- package/src/state/stage.js +1 -1
- package/src/state/state.js +8 -8
- package/src/system/device.js +148 -133
- package/src/system/event.js +10 -10
- package/src/system/pooling.js +156 -149
- package/src/system/timer.js +1 -1
- package/src/text/bitmaptext.js +1 -1
- package/src/text/text.js +1 -1
- package/src/utils/agent.js +4 -4
- package/src/utils/function.js +2 -2
- package/src/utils/utils.js +10 -5
- package/src/video/canvas/canvas_renderer.js +104 -36
- package/src/video/renderer.js +28 -16
- package/src/video/texture.js +1 -1
- package/src/video/video.js +11 -11
- package/src/video/webgl/glshader.js +30 -194
- package/src/video/webgl/utils/attributes.js +16 -0
- package/src/video/webgl/utils/precision.js +11 -0
- package/src/video/webgl/utils/program.js +58 -0
- package/src/video/webgl/utils/string.js +16 -0
- package/src/video/webgl/utils/uniforms.js +87 -0
- package/src/video/webgl/webgl_compositor.js +1 -14
- package/src/video/webgl/webgl_renderer.js +129 -186
- package/src/particles/particlecontainer.js +0 -95
package/src/math/matrix3.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import pool from "./../system/pooling.js";
|
|
2
2
|
import { EPSILON } from "./math.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -475,72 +475,73 @@ class Matrix3d {
|
|
|
475
475
|
* @returns {Matrix3d} Reference to this object for method chaining
|
|
476
476
|
*/
|
|
477
477
|
rotate(angle, v) {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
// Construct the elements of the rotation matrix
|
|
520
|
-
b00 = x * x * t + c;
|
|
521
|
-
b01 = y * x * t + z * s;
|
|
522
|
-
b02 = z * x * t - y * s;
|
|
523
|
-
b10 = x * y * t - z * s;
|
|
524
|
-
b11 = y * y * t + c;
|
|
525
|
-
b12 = z * y * t + x * s;
|
|
526
|
-
b20 = x * z * t + y * s;
|
|
527
|
-
b21 = y * z * t - x * s;
|
|
528
|
-
b22 = z * z * t + c;
|
|
529
|
-
|
|
530
|
-
// Perform rotation-specific matrix multiplication
|
|
531
|
-
a[0] = a00 * b00 + a10 * b01 + a20 * b02;
|
|
532
|
-
a[1] = a01 * b00 + a11 * b01 + a21 * b02;
|
|
533
|
-
a[2] = a02 * b00 + a12 * b01 + a22 * b02;
|
|
534
|
-
a[3] = a03 * b00 + a13 * b01 + a23 * b02;
|
|
535
|
-
a[4] = a00 * b10 + a10 * b11 + a20 * b12;
|
|
536
|
-
a[5] = a01 * b10 + a11 * b11 + a21 * b12;
|
|
537
|
-
a[6] = a02 * b10 + a12 * b11 + a22 * b12;
|
|
538
|
-
a[7] = a03 * b10 + a13 * b11 + a23 * b12;
|
|
539
|
-
a[8] = a00 * b20 + a10 * b21 + a20 * b22;
|
|
540
|
-
a[9] = a01 * b20 + a11 * b21 + a21 * b22;
|
|
541
|
-
a[10] = a02 * b20 + a12 * b21 + a22 * b22;
|
|
542
|
-
a[11] = a03 * b20 + a13 * b21 + a23 * b22;
|
|
478
|
+
if (angle !== 0) {
|
|
479
|
+
var a = this.val,
|
|
480
|
+
x = v.x,
|
|
481
|
+
y = v.y,
|
|
482
|
+
z = v.z;
|
|
483
|
+
|
|
484
|
+
var len = Math.sqrt(x * x + y * y + z * z);
|
|
485
|
+
|
|
486
|
+
var s, c, t;
|
|
487
|
+
var a00, a01, a02, a03;
|
|
488
|
+
var a10, a11, a12, a13;
|
|
489
|
+
var a20, a21, a22, a23;
|
|
490
|
+
var b00, b01, b02;
|
|
491
|
+
var b10, b11, b12;
|
|
492
|
+
var b20, b21, b22;
|
|
493
|
+
|
|
494
|
+
if (len < EPSILON) {
|
|
495
|
+
return null;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
len = 1 / len;
|
|
499
|
+
x *= len;
|
|
500
|
+
y *= len;
|
|
501
|
+
z *= len;
|
|
502
|
+
|
|
503
|
+
s = Math.sin(angle);
|
|
504
|
+
c = Math.cos(angle);
|
|
505
|
+
t = 1 - c;
|
|
506
|
+
|
|
507
|
+
a00 = a[0];
|
|
508
|
+
a01 = a[1];
|
|
509
|
+
a02 = a[2];
|
|
510
|
+
a03 = a[3];
|
|
511
|
+
a10 = a[4];
|
|
512
|
+
a11 = a[5];
|
|
513
|
+
a12 = a[6];
|
|
514
|
+
a13 = a[7];
|
|
515
|
+
a20 = a[8];
|
|
516
|
+
a21 = a[9];
|
|
517
|
+
a22 = a[10];
|
|
518
|
+
a23 = a[11];
|
|
543
519
|
|
|
520
|
+
// Construct the elements of the rotation matrix
|
|
521
|
+
b00 = x * x * t + c;
|
|
522
|
+
b01 = y * x * t + z * s;
|
|
523
|
+
b02 = z * x * t - y * s;
|
|
524
|
+
b10 = x * y * t - z * s;
|
|
525
|
+
b11 = y * y * t + c;
|
|
526
|
+
b12 = z * y * t + x * s;
|
|
527
|
+
b20 = x * z * t + y * s;
|
|
528
|
+
b21 = y * z * t - x * s;
|
|
529
|
+
b22 = z * z * t + c;
|
|
530
|
+
|
|
531
|
+
// Perform rotation-specific matrix multiplication
|
|
532
|
+
a[0] = a00 * b00 + a10 * b01 + a20 * b02;
|
|
533
|
+
a[1] = a01 * b00 + a11 * b01 + a21 * b02;
|
|
534
|
+
a[2] = a02 * b00 + a12 * b01 + a22 * b02;
|
|
535
|
+
a[3] = a03 * b00 + a13 * b01 + a23 * b02;
|
|
536
|
+
a[4] = a00 * b10 + a10 * b11 + a20 * b12;
|
|
537
|
+
a[5] = a01 * b10 + a11 * b11 + a21 * b12;
|
|
538
|
+
a[6] = a02 * b10 + a12 * b11 + a22 * b12;
|
|
539
|
+
a[7] = a03 * b10 + a13 * b11 + a23 * b12;
|
|
540
|
+
a[8] = a00 * b20 + a10 * b21 + a20 * b22;
|
|
541
|
+
a[9] = a01 * b20 + a11 * b21 + a21 * b22;
|
|
542
|
+
a[10] = a02 * b20 + a12 * b21 + a22 * b22;
|
|
543
|
+
a[11] = a03 * b20 + a13 * b21 + a23 * b22;
|
|
544
|
+
}
|
|
544
545
|
return this;
|
|
545
546
|
}
|
|
546
547
|
|
package/src/math/vector2.js
CHANGED
package/src/math/vector3.js
CHANGED