Vector([x][, y])
A simple 2d vector object. Takes either separate x
and y
coordinates or a Vector-like object.
let { Vector } = kontra;
let vector = Vector(100, 200);
let vector2 = Vector({x: 100, y: 200});
import { Vector } from 'path/to/kontra.mjs';
let vector = Vector(100, 200);
let vector2 = Vector({x: 100, y: 200});
import { Vector } from 'kontra';
let vector = Vector(100, 200);
let vector2 = Vector({x: 100, y: 200});
Vector Parameters
-
x
Optional Number or Object. X coordinate of the vector or a Vector-like object. If passing an object, the
y
param is ignored. Defaults to0
.-
y
Optional Number. Y coordinate of the vector. Defaults to
0
.
Table of Contents
Vector.add(vector)
Calculate the addition of the current vector with the given vector.
add Parameters
-
vector
Vector or Object. Vector to add to the current Vector.
add Return value
Vector. A new Vector instance whose value is the addition of the two vectors.
Vector.angle(vector)
Calculate the angle (in radians) between the current vector and the given vector. Requires the Vector dot and length functions.
angle Parameters
-
vector
Vector. Vector to calculate the angle between.
angle Return value
Number. The angle (in radians) between the two vectors.
Vector.clamp(xMin, yMin, xMax, yMax)
Clamp the Vector between two points, preventing x
and y
from going below or above the minimum and maximum values. Perfect for keeping a sprite from going outside the game boundaries.
let { Vector } = kontra;
let vector = Vector(100, 200);
vector.clamp(0, 0, 200, 300);
vector.x += 200;
console.log(vector.x); //=> 200
vector.y -= 300;
console.log(vector.y); //=> 0
vector.add({x: -500, y: 500});
console.log(vector); //=> {x: 0, y: 300}
import { Vector } from 'path/to/kontra.mjs';
let vector = Vector(100, 200);
vector.clamp(0, 0, 200, 300);
vector.x += 200;
console.log(vector.x); //=> 200
vector.y -= 300;
console.log(vector.y); //=> 0
vector.add({x: -500, y: 500});
console.log(vector); //=> {x: 0, y: 300}
import { Vector } from 'kontra';
let vector = Vector(100, 200);
vector.clamp(0, 0, 200, 300);
vector.x += 200;
console.log(vector.x); //=> 200
vector.y -= 300;
console.log(vector.y); //=> 0
vector.add({x: -500, y: 500});
console.log(vector); //=> {x: 0, y: 300}
clamp Parameters
-
xMin
Number. Minimum x value.
-
yMin
Number. Minimum y value.
-
xMax
Number. Maximum x value.
-
yMax
Number. Maximum y value.
Vector.direction()
Calculate the angle (in radians) of the current vector.
direction Return value
Number. The angle (in radians) of the vector.
Vector.distance(vector)
Calculate the distance between the current vector and the given vector.
distance Parameters
-
vector
Vector or Object. Vector to calculate the distance between.
distance Return value
Number. The distance between the two vectors.
Vector.dot(vector)
Calculate the dot product of the current vector with the given vector.
dot Parameters
-
vector
Vector or Object. Vector to dot product against.
dot Return value
Number. The dot product of the vectors.
Vector.length()
Calculate the length (magnitude) of the Vector.
length Return value
Number. The length of the vector.
Vector.normalize()
Calculate the normalized value of the current vector. Requires the Vector length function.
normalize Return value
Vector. A new Vector instance whose value is the normalized vector.
Vector.scale(value)
Calculate the multiple of the current vector by a value.
scale Parameters
-
value
Number. Value to scale the current Vector.
scale Return value
Vector. A new Vector instance whose value is multiplied by the scalar.
Vector.set(vector)
Set the x and y coordinate of the vector.
set Parameters
-
vector
Vector or Object. Vector to set coordinates from.
Vector.subtract(vector)
Calculate the subtraction of the current vector with the given vector.
subtract Parameters
-
vector
Vector or Object. Vector to subtract from the current Vector.
subtract Return value
Vector. A new Vector instance whose value is the subtraction of the two vectors.
Vector.x
Number. X coordinate of the vector.
Vector.y
Number. Y coordinate of the vector.