melonjs 15.2.1 → 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/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 +75 -23
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +13 -11
- package/dist/melonjs.mjs/application/settings.js +37 -1
- 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 +37 -47
- 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 +5 -5
- 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 +31 -39
- 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 +13 -14
- package/dist/melonjs.mjs/state/state.js +4 -51
- package/dist/melonjs.mjs/system/device.js +51 -10
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +46 -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 +5 -18
- package/dist/melonjs.mjs/video/renderer.js +17 -30
- 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 +5 -29
- 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 +62 -67
- package/dist/melonjs.module.js +1272 -1713
- package/dist/types/application/application.d.ts +32 -31
- package/dist/types/application/header.d.ts +2 -2
- package/dist/types/application/settings.d.ts +80 -16
- 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/level/tiled/TMXUtils.d.ts +4 -6
- 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 +10 -18
- 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/stage.d.ts +3 -2
- package/dist/types/state/state.d.ts +11 -11
- package/dist/types/system/device.d.ts +16 -9
- package/dist/types/system/event.d.ts +40 -0
- package/dist/types/system/platform.d.ts +17 -17
- package/dist/types/utils/function.d.ts +1 -2
- package/dist/types/video/canvas/canvas_renderer.d.ts +0 -23
- package/dist/types/video/renderer.d.ts +16 -43
- package/dist/types/video/texture/canvas_texture.d.ts +14 -14
- package/dist/types/video/video.d.ts +4 -38
- 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 +48 -84
- package/package.json +15 -15
- package/src/application/application.js +73 -21
- package/src/application/header.js +1 -1
- package/src/application/resize.js +11 -9
- package/src/application/settings.js +36 -0
- 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 +36 -46
- 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 +4 -4
- 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 +30 -38
- 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 +12 -13
- package/src/state/state.js +2 -61
- package/src/system/device.js +50 -9
- package/src/system/event.js +44 -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 +4 -17
- package/src/video/renderer.js +16 -29
- package/src/video/texture/atlas.js +12 -12
- package/src/video/texture/canvas_texture.js +14 -14
- package/src/video/video.js +7 -28
- 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 +61 -66
- /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
|
|
@@ -12,7 +12,7 @@ import pool from '../system/pooling.js';
|
|
|
12
12
|
* @classdesc
|
|
13
13
|
* a generic 2D Vector Object
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
class Vector2d {
|
|
16
16
|
/**
|
|
17
17
|
* @param {number} [x=0] - x value of the vector
|
|
18
18
|
* @param {number} [y=0] - y value of the vector
|
|
@@ -42,8 +42,6 @@ import pool from '../system/pooling.js';
|
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* set the Vector x and y properties to the given values<br>
|
|
45
|
-
* @name set
|
|
46
|
-
* @memberof Vector2d
|
|
47
45
|
* @param {number} x
|
|
48
46
|
* @param {number} y
|
|
49
47
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
@@ -78,8 +76,6 @@ import pool from '../system/pooling.js';
|
|
|
78
76
|
|
|
79
77
|
/**
|
|
80
78
|
* set the Vector x and y properties to 0
|
|
81
|
-
* @name setZero
|
|
82
|
-
* @memberof Vector2d
|
|
83
79
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
84
80
|
*/
|
|
85
81
|
setZero() {
|
|
@@ -88,8 +84,6 @@ import pool from '../system/pooling.js';
|
|
|
88
84
|
|
|
89
85
|
/**
|
|
90
86
|
* set the Vector x and y properties using the passed vector
|
|
91
|
-
* @name setV
|
|
92
|
-
* @memberof Vector2d
|
|
93
87
|
* @param {Vector2d} v
|
|
94
88
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
95
89
|
*/
|
|
@@ -99,8 +93,6 @@ import pool from '../system/pooling.js';
|
|
|
99
93
|
|
|
100
94
|
/**
|
|
101
95
|
* Add the passed vector to this vector
|
|
102
|
-
* @name add
|
|
103
|
-
* @memberof Vector2d
|
|
104
96
|
* @param {Vector2d} v
|
|
105
97
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
106
98
|
*/
|
|
@@ -110,8 +102,6 @@ import pool from '../system/pooling.js';
|
|
|
110
102
|
|
|
111
103
|
/**
|
|
112
104
|
* Substract the passed vector to this vector
|
|
113
|
-
* @name sub
|
|
114
|
-
* @memberof Vector2d
|
|
115
105
|
* @param {Vector2d} v
|
|
116
106
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
117
107
|
*/
|
|
@@ -121,8 +111,6 @@ import pool from '../system/pooling.js';
|
|
|
121
111
|
|
|
122
112
|
/**
|
|
123
113
|
* Multiply this vector values by the given scalar
|
|
124
|
-
* @name scale
|
|
125
|
-
* @memberof Vector2d
|
|
126
114
|
* @param {number} x
|
|
127
115
|
* @param {number} [y=x]
|
|
128
116
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
@@ -133,8 +121,6 @@ import pool from '../system/pooling.js';
|
|
|
133
121
|
|
|
134
122
|
/**
|
|
135
123
|
* Convert this vector into isometric coordinate space
|
|
136
|
-
* @name toIso
|
|
137
|
-
* @memberof Vector2d
|
|
138
124
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
139
125
|
*/
|
|
140
126
|
toIso() {
|
|
@@ -143,8 +129,6 @@ import pool from '../system/pooling.js';
|
|
|
143
129
|
|
|
144
130
|
/**
|
|
145
131
|
* Convert this vector into 2d coordinate space
|
|
146
|
-
* @name to2d
|
|
147
|
-
* @memberof Vector2d
|
|
148
132
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
149
133
|
*/
|
|
150
134
|
to2d() {
|
|
@@ -153,8 +137,6 @@ import pool from '../system/pooling.js';
|
|
|
153
137
|
|
|
154
138
|
/**
|
|
155
139
|
* Multiply this vector values by the passed vector
|
|
156
|
-
* @name scaleV
|
|
157
|
-
* @memberof Vector2d
|
|
158
140
|
* @param {Vector2d} v
|
|
159
141
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
160
142
|
*/
|
|
@@ -164,8 +146,6 @@ import pool from '../system/pooling.js';
|
|
|
164
146
|
|
|
165
147
|
/**
|
|
166
148
|
* Divide this vector values by the passed value
|
|
167
|
-
* @name div
|
|
168
|
-
* @memberof Vector2d
|
|
169
149
|
* @param {number} n - the value to divide the vector by
|
|
170
150
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
171
151
|
*/
|
|
@@ -175,8 +155,6 @@ import pool from '../system/pooling.js';
|
|
|
175
155
|
|
|
176
156
|
/**
|
|
177
157
|
* Update this vector values to absolute values
|
|
178
|
-
* @name abs
|
|
179
|
-
* @memberof Vector2d
|
|
180
158
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
181
159
|
*/
|
|
182
160
|
abs() {
|
|
@@ -185,8 +163,6 @@ import pool from '../system/pooling.js';
|
|
|
185
163
|
|
|
186
164
|
/**
|
|
187
165
|
* Clamp the vector value within the specified value range
|
|
188
|
-
* @name clamp
|
|
189
|
-
* @memberof Vector2d
|
|
190
166
|
* @param {number} low
|
|
191
167
|
* @param {number} high
|
|
192
168
|
* @returns {Vector2d} new me.Vector2d
|
|
@@ -197,8 +173,6 @@ import pool from '../system/pooling.js';
|
|
|
197
173
|
|
|
198
174
|
/**
|
|
199
175
|
* Clamp this vector value within the specified value range
|
|
200
|
-
* @name clampSelf
|
|
201
|
-
* @memberof Vector2d
|
|
202
176
|
* @param {number} low
|
|
203
177
|
* @param {number} high
|
|
204
178
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
@@ -209,8 +183,6 @@ import pool from '../system/pooling.js';
|
|
|
209
183
|
|
|
210
184
|
/**
|
|
211
185
|
* Update this vector with the minimum value between this and the passed vector
|
|
212
|
-
* @name minV
|
|
213
|
-
* @memberof Vector2d
|
|
214
186
|
* @param {Vector2d} v
|
|
215
187
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
216
188
|
*/
|
|
@@ -220,8 +192,6 @@ import pool from '../system/pooling.js';
|
|
|
220
192
|
|
|
221
193
|
/**
|
|
222
194
|
* Update this vector with the maximum value between this and the passed vector
|
|
223
|
-
* @name maxV
|
|
224
|
-
* @memberof Vector2d
|
|
225
195
|
* @param {Vector2d} v
|
|
226
196
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
227
197
|
*/
|
|
@@ -231,8 +201,6 @@ import pool from '../system/pooling.js';
|
|
|
231
201
|
|
|
232
202
|
/**
|
|
233
203
|
* Floor the vector values
|
|
234
|
-
* @name floor
|
|
235
|
-
* @memberof Vector2d
|
|
236
204
|
* @returns {Vector2d} new me.Vector2d
|
|
237
205
|
*/
|
|
238
206
|
floor() {
|
|
@@ -241,8 +209,6 @@ import pool from '../system/pooling.js';
|
|
|
241
209
|
|
|
242
210
|
/**
|
|
243
211
|
* Floor this vector values
|
|
244
|
-
* @name floorSelf
|
|
245
|
-
* @memberof Vector2d
|
|
246
212
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
247
213
|
*/
|
|
248
214
|
floorSelf() {
|
|
@@ -251,8 +217,6 @@ import pool from '../system/pooling.js';
|
|
|
251
217
|
|
|
252
218
|
/**
|
|
253
219
|
* Ceil the vector values
|
|
254
|
-
* @name ceil
|
|
255
|
-
* @memberof Vector2d
|
|
256
220
|
* @returns {Vector2d} new me.Vector2d
|
|
257
221
|
*/
|
|
258
222
|
ceil() {
|
|
@@ -261,8 +225,6 @@ import pool from '../system/pooling.js';
|
|
|
261
225
|
|
|
262
226
|
/**
|
|
263
227
|
* Ceil this vector values
|
|
264
|
-
* @name ceilSelf
|
|
265
|
-
* @memberof Vector2d
|
|
266
228
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
267
229
|
*/
|
|
268
230
|
ceilSelf() {
|
|
@@ -271,8 +233,6 @@ import pool from '../system/pooling.js';
|
|
|
271
233
|
|
|
272
234
|
/**
|
|
273
235
|
* Negate the vector values
|
|
274
|
-
* @name negate
|
|
275
|
-
* @memberof Vector2d
|
|
276
236
|
* @returns {Vector2d} new me.Vector2d
|
|
277
237
|
*/
|
|
278
238
|
negate() {
|
|
@@ -281,8 +241,6 @@ import pool from '../system/pooling.js';
|
|
|
281
241
|
|
|
282
242
|
/**
|
|
283
243
|
* Negate this vector values
|
|
284
|
-
* @name negateSelf
|
|
285
|
-
* @memberof Vector2d
|
|
286
244
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
287
245
|
*/
|
|
288
246
|
negateSelf() {
|
|
@@ -291,8 +249,6 @@ import pool from '../system/pooling.js';
|
|
|
291
249
|
|
|
292
250
|
/**
|
|
293
251
|
* Copy the x,y values of the passed vector to this one
|
|
294
|
-
* @name copy
|
|
295
|
-
* @memberof Vector2d
|
|
296
252
|
* @param {Vector2d} v
|
|
297
253
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
298
254
|
*/
|
|
@@ -301,19 +257,9 @@ import pool from '../system/pooling.js';
|
|
|
301
257
|
}
|
|
302
258
|
|
|
303
259
|
/**
|
|
304
|
-
* return true if
|
|
305
|
-
* @
|
|
306
|
-
* @
|
|
307
|
-
* @method
|
|
308
|
-
* @param {Vector2d} v
|
|
309
|
-
* @returns {boolean}
|
|
310
|
-
*/
|
|
311
|
-
/**
|
|
312
|
-
* return true if this vector is equal to the given values
|
|
313
|
-
* @name equals
|
|
314
|
-
* @memberof Vector2d
|
|
315
|
-
* @param {number} x
|
|
316
|
-
* @param {number} y
|
|
260
|
+
* return true if this vector is equal to the given values or vector
|
|
261
|
+
* @param {number|Vector2d|ObservableVector2d} x
|
|
262
|
+
* @param {number} [y]
|
|
317
263
|
* @returns {boolean}
|
|
318
264
|
*/
|
|
319
265
|
equals() {
|
|
@@ -332,8 +278,6 @@ import pool from '../system/pooling.js';
|
|
|
332
278
|
|
|
333
279
|
/**
|
|
334
280
|
* normalize this vector (scale the vector so that its magnitude is 1)
|
|
335
|
-
* @name normalize
|
|
336
|
-
* @memberof Vector2d
|
|
337
281
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
338
282
|
*/
|
|
339
283
|
normalize() {
|
|
@@ -343,8 +287,6 @@ import pool from '../system/pooling.js';
|
|
|
343
287
|
/**
|
|
344
288
|
* change this vector to be perpendicular to what it was before.<br>
|
|
345
289
|
* (Effectively rotates it 90 degrees in a clockwise direction)
|
|
346
|
-
* @name perp
|
|
347
|
-
* @memberof Vector2d
|
|
348
290
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
349
291
|
*/
|
|
350
292
|
perp() {
|
|
@@ -353,8 +295,6 @@ import pool from '../system/pooling.js';
|
|
|
353
295
|
|
|
354
296
|
/**
|
|
355
297
|
* Rotate this vector (counter-clockwise) by the specified angle (in radians).
|
|
356
|
-
* @name rotate
|
|
357
|
-
* @memberof Vector2d
|
|
358
298
|
* @param {number} angle - The angle to rotate (in radians)
|
|
359
299
|
* @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around
|
|
360
300
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
@@ -379,8 +319,6 @@ import pool from '../system/pooling.js';
|
|
|
379
319
|
|
|
380
320
|
/**
|
|
381
321
|
* return the dot product of this vector and the passed one
|
|
382
|
-
* @name dot
|
|
383
|
-
* @memberof Vector2d
|
|
384
322
|
* @param {Vector2d} v
|
|
385
323
|
* @returns {number} The dot product.
|
|
386
324
|
*/
|
|
@@ -390,8 +328,6 @@ import pool from '../system/pooling.js';
|
|
|
390
328
|
|
|
391
329
|
/**
|
|
392
330
|
* return the cross product of this vector and the passed one
|
|
393
|
-
* @name cross
|
|
394
|
-
* @memberof Vector2d
|
|
395
331
|
* @param {Vector2d} v
|
|
396
332
|
* @returns {number} The cross product.
|
|
397
333
|
*/
|
|
@@ -399,10 +335,8 @@ import pool from '../system/pooling.js';
|
|
|
399
335
|
return this.x * v.y - this.y * v.x;
|
|
400
336
|
}
|
|
401
337
|
|
|
402
|
-
|
|
338
|
+
/**
|
|
403
339
|
* return the square length of this vector
|
|
404
|
-
* @name length2
|
|
405
|
-
* @memberof Vector2d
|
|
406
340
|
* @returns {number} The length^2 of this vector.
|
|
407
341
|
*/
|
|
408
342
|
length2() {
|
|
@@ -411,8 +345,6 @@ import pool from '../system/pooling.js';
|
|
|
411
345
|
|
|
412
346
|
/**
|
|
413
347
|
* return the length (magnitude) of this vector
|
|
414
|
-
* @name length
|
|
415
|
-
* @memberof Vector2d
|
|
416
348
|
* @returns {number} the length of this vector
|
|
417
349
|
*/
|
|
418
350
|
length() {
|
|
@@ -421,8 +353,6 @@ import pool from '../system/pooling.js';
|
|
|
421
353
|
|
|
422
354
|
/**
|
|
423
355
|
* Linearly interpolate between this vector and the given one.
|
|
424
|
-
* @name lerp
|
|
425
|
-
* @memberof Vector2d
|
|
426
356
|
* @param {Vector2d} v
|
|
427
357
|
* @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
|
|
428
358
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
@@ -435,13 +365,11 @@ import pool from '../system/pooling.js';
|
|
|
435
365
|
|
|
436
366
|
/**
|
|
437
367
|
* interpolate the position of this vector towards the given one by the given maximum step.
|
|
438
|
-
* @name moveTowards
|
|
439
|
-
* @memberof Vector2d
|
|
440
368
|
* @param {Vector2d} target
|
|
441
369
|
* @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
|
|
442
370
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
443
371
|
*/
|
|
444
|
-
|
|
372
|
+
moveTowards(target, step) {
|
|
445
373
|
let angle = Math.atan2(target.y - this.y, target.x - this.x);
|
|
446
374
|
|
|
447
375
|
let distance = this.distance(target);
|
|
@@ -458,8 +386,6 @@ import pool from '../system/pooling.js';
|
|
|
458
386
|
|
|
459
387
|
/**
|
|
460
388
|
* return the distance between this vector and the passed one
|
|
461
|
-
* @name distance
|
|
462
|
-
* @memberof Vector2d
|
|
463
389
|
* @param {Vector2d} v
|
|
464
390
|
* @returns {number}
|
|
465
391
|
*/
|
|
@@ -470,8 +396,6 @@ import pool from '../system/pooling.js';
|
|
|
470
396
|
|
|
471
397
|
/**
|
|
472
398
|
* return the angle between this vector and the passed one
|
|
473
|
-
* @name angle
|
|
474
|
-
* @memberof Vector2d
|
|
475
399
|
* @param {Vector2d} v
|
|
476
400
|
* @returns {number} angle in radians
|
|
477
401
|
*/
|
|
@@ -481,8 +405,6 @@ import pool from '../system/pooling.js';
|
|
|
481
405
|
|
|
482
406
|
/**
|
|
483
407
|
* project this vector on to another vector.
|
|
484
|
-
* @name project
|
|
485
|
-
* @memberof Vector2d
|
|
486
408
|
* @param {Vector2d} v - The vector to project onto.
|
|
487
409
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
488
410
|
*/
|
|
@@ -493,8 +415,6 @@ import pool from '../system/pooling.js';
|
|
|
493
415
|
/**
|
|
494
416
|
* Project this vector onto a vector of unit length.<br>
|
|
495
417
|
* This is slightly more efficient than `project` when dealing with unit vectors.
|
|
496
|
-
* @name projectN
|
|
497
|
-
* @memberof Vector2d
|
|
498
418
|
* @param {Vector2d} v - The unit vector to project onto.
|
|
499
419
|
* @returns {Vector2d} Reference to this object for method chaining
|
|
500
420
|
*/
|
|
@@ -504,8 +424,6 @@ import pool from '../system/pooling.js';
|
|
|
504
424
|
|
|
505
425
|
/**
|
|
506
426
|
* return a clone copy of this vector
|
|
507
|
-
* @name clone
|
|
508
|
-
* @memberof Vector2d
|
|
509
427
|
* @returns {Vector2d} new me.Vector2d
|
|
510
428
|
*/
|
|
511
429
|
clone() {
|
|
@@ -514,8 +432,6 @@ import pool from '../system/pooling.js';
|
|
|
514
432
|
|
|
515
433
|
/**
|
|
516
434
|
* convert the object to a string representation
|
|
517
|
-
* @name toString
|
|
518
|
-
* @memberof Vector2d
|
|
519
435
|
* @returns {string}
|
|
520
436
|
*/
|
|
521
437
|
toString() {
|