Add Built-In Functions
parent
ea1189a21b
commit
f62daa5f58
|
@ -0,0 +1,168 @@
|
||||||
|
# Data Functions
|
||||||
|
These are functions to access the data that `empty.js` provides.
|
||||||
|
|
||||||
|
## Mouse Data
|
||||||
|
### Mouse Position
|
||||||
|
```js
|
||||||
|
getMousePosGlobal()
|
||||||
|
// returns {x : 0, y : 0}
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the "global" mouse pointer position. This position is not related to the canvas size or position. It only shows the position of the mouse inside the browser window.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
getMousePos()
|
||||||
|
// returns {x : 0, y : 0}
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the mouse pointer position relative to the position of the canvas (`{x : 0, y : 0}` would be top left)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
getLastMousePos()
|
||||||
|
// returns {x : 0, y : 0}
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the mouse pointer position relative to the position of the canvas during the last frame (if called from the `tick()` function, it will return the value `getMousePos()` would have returned in the last cycle).
|
||||||
|
|
||||||
|
---
|
||||||
|
```js
|
||||||
|
getRelativeMouseMovement()
|
||||||
|
// returns {x : 0, y : 0}
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the pixels the mouse moved since the last frame. Useful for calculating mouse movement speed for example.
|
||||||
|
|
||||||
|
### Mouse Buttons
|
||||||
|
```js
|
||||||
|
getMouseKey(key);
|
||||||
|
// returns boolean
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the state of the selected mouse key or button, `true` meaning button is currently pressed.
|
||||||
|
|
||||||
|
```
|
||||||
|
key = 0 : Left Mouse Button
|
||||||
|
key = 1 : Middle Mouse Button
|
||||||
|
key = 2 : Right Mouse Button
|
||||||
|
```
|
||||||
|
|
||||||
|
## Keyboard Data
|
||||||
|
```js
|
||||||
|
getKey(code)
|
||||||
|
// returns boolean
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the state of a key from it's code (i.e. `keyA`, `Space` or `ShiftLeft`), `true` meaning the key is currently pressed.
|
||||||
|
|
||||||
|
# Drawing Functions
|
||||||
|
These are functions that are supposed to make drawing on the canvas a bit easier.
|
||||||
|
|
||||||
|
All default JavaScript Canvas API functions are available by referencing the Canvas Context using `c`, i.e.
|
||||||
|
|
||||||
|
```js
|
||||||
|
c.fillRect(0, 5, 10, 15);
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
fillBackground();
|
||||||
|
```
|
||||||
|
|
||||||
|
Fills the entire canvas with the current color defined in `c.fillStyle`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
fillCircle(x, y, r);
|
||||||
|
```
|
||||||
|
|
||||||
|
Draws a filled circle centered at `x, y` with a radius of `r` pixels.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
strokeCircle(x, y, r);
|
||||||
|
```
|
||||||
|
|
||||||
|
Draws a stroked circle centered at `x, y` with a radius of `r` pixels.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
line(x1, y1, x2, y2);
|
||||||
|
```
|
||||||
|
|
||||||
|
Draws a line from `x1, y2` to `x2, y2`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
drawRotatedImage(image, x, y, angle, width, height);
|
||||||
|
```
|
||||||
|
|
||||||
|
Draws a given image centered at `x, y` with a defined width and height, rotated by `angle` radiants around it's center.
|
||||||
|
|
||||||
|
# Other
|
||||||
|
Functions that don't necessarily have anything to do with `empty.js` but are simply useful shortcuts for common use cases.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
distance(x1, y1, x2, y2)
|
||||||
|
// returns number
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns the distance between two points `x1, y1` and `x2, y2` calculated using Pythagorean theorem.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
randomRange(min, max)
|
||||||
|
// returns number
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns a random integer between and including `min` and `max` defined using `Math.random()`. Do not use for cryptography.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
range(i)
|
||||||
|
// returns array of size i
|
||||||
|
```
|
||||||
|
|
||||||
|
Simmilar to Python's `range()` function. Returns an array with `i` elements. Each element contains its index.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```js
|
||||||
|
minmax(num, min, max)
|
||||||
|
// returns number
|
||||||
|
```
|
||||||
|
|
||||||
|
If `max` if `num` is greater than `max` and `min` if `num` is less than `min`, otherwise returns `num`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## CSS Color Code Shortcuts
|
||||||
|
|
||||||
|
```js
|
||||||
|
rgb(r, g, b)
|
||||||
|
rgba(r, g, b, a)
|
||||||
|
hsl(h, s, l)
|
||||||
|
hsla(h, s, l, a)
|
||||||
|
// each return strings
|
||||||
|
```
|
||||||
|
|
||||||
|
These functions return the given values inside a String according to CSS Standard, i.e.
|
||||||
|
|
||||||
|
```js
|
||||||
|
rgb(0, 255, 100)
|
||||||
|
// returns "rgb(0,255,100)"
|
||||||
|
```
|
||||||
|
|
||||||
|
This simply makes transforming numbers from JavaScript into CSS Color values a little more convenient.
|
Reference in New Issue