Constructor
new Verly(iterations, canvas, ctx)
Parameters:
Name | Type | Description |
---|---|---|
iterations |
Number | |
canvas |
HTMLCanvasElement | |
ctx |
CanvasRenderingContext2D |
Methods
createBox(x, y, w, h)
Parameters:
Name | Type | Description |
---|---|---|
x |
number | |
y |
number | |
w |
number | |
h |
number |
createCloth(posx, posy, w, h, segments, pinOffset)
Parameters:
Name | Type | Description |
---|---|---|
posx |
number | |
posy |
number | |
w |
number | |
h |
number | |
segments |
number | |
pinOffset |
number |
createHexagon(x, y, segments, radius, stride1, stride2)
Parameters:
Name | Type | Default | Description |
---|---|---|---|
x |
number | ||
y |
number | ||
segments |
number | ||
radius |
number | 50 | |
stride1 |
number | 1 | |
stride2 |
number | 5 |
createRope(x, y, segments, gap, pin)
Parameters:
Name | Type | Default | Description |
---|---|---|---|
x |
number | ||
y |
number | ||
segments |
number | 10 | |
gap |
number | 15 | |
pin |
number | 0 |
joinEntities(…args)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
args |
Entity |
<repeatable> |
Example
let canvas = document.getElementById('c');
let ctx = canvas.getContext('2d');
let width = canvas.width = 600;
let height = canvas.height = 500;
let verly = new Verly(16, canvas, ctx);
let box = verly.createBox(100, 100, 100, 100);
let rope = verly.createRope(100, 100, 15, 10, 0);
// verly.joinEntities(...Entity)
let mix = verly.joinEntities(box, rope);
mix.addStick(0, 18, 20)
function animate() {
ctx.clearRect(0, 0, width, height);
verly.update();
verly.render();
verly.interact();
verly.renderPointIndex();
requestAnimationFrame(animate);
}
animate();