68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
|
let pendulum;
|
||
|
let stop = true;
|
||
|
|
||
|
function setup() {
|
||
|
frameRate(144);
|
||
|
createCanvas(getViewport()[0], getViewport()[1] - 4);
|
||
|
pendulum = new Pendulum(width / 2, height / 2, width / 1920 * 0.5);
|
||
|
slider = createSlider(0, 10, 4);
|
||
|
button = createButton('refresh');
|
||
|
button.position(width/2-40, 25);
|
||
|
button.mousePressed(buttonCall);
|
||
|
slider.position(width / 2 - 70, 0);
|
||
|
stroke(50);
|
||
|
}
|
||
|
|
||
|
function draw() {
|
||
|
clear();
|
||
|
background(240);
|
||
|
|
||
|
if (!stop) {
|
||
|
for (let i = 0; i < slider.value(); i++) {
|
||
|
pendulum.update();
|
||
|
}
|
||
|
}
|
||
|
pendulum.show();
|
||
|
|
||
|
// strokeWeight(0);
|
||
|
// text(Math.ceil((a1 * 180 / Math.PI) - Math.PI / 2), -7.5, -15);
|
||
|
}
|
||
|
|
||
|
function buttonCall(){
|
||
|
pendulum.refresh();
|
||
|
}
|
||
|
|
||
|
function keyPressed() {
|
||
|
if (stop === false) {
|
||
|
stop = true;
|
||
|
} else {
|
||
|
stop = false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function getViewport() {
|
||
|
|
||
|
var viewPortWidth;
|
||
|
var viewPortHeight;
|
||
|
|
||
|
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
|
||
|
if (typeof window.innerWidth != 'undefined') {
|
||
|
viewPortWidth = window.innerWidth,
|
||
|
viewPortHeight = window.innerHeight
|
||
|
}
|
||
|
|
||
|
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
|
||
|
else if (typeof document.documentElement != 'undefined' &&
|
||
|
typeof document.documentElement.clientWidth !=
|
||
|
'undefined' && document.documentElement.clientWidth != 0) {
|
||
|
viewPortWidth = document.documentElement.clientWidth,
|
||
|
viewPortHeight = document.documentElement.clientHeight
|
||
|
}
|
||
|
|
||
|
// older versions of IE
|
||
|
else {
|
||
|
viewPortWidth = document.getElementsByTagName('body')[0].clientWidth,
|
||
|
viewPortHeight = document.getElementsByTagName('body')[0].clientHeight
|
||
|
}
|
||
|
return [viewPortWidth, viewPortHeight];
|
||
|
}
|