xxxxxxxxxx
47
const keys = {};
let x = 0;
const SPD = 5;
const noiseScale = 0.01;
const distBetween = 20;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
if(keys.a) x -= SPD;
if(keys.d) x += SPD;
if(x < 0) x = 0;
let pos = (int(x/distBetween) - 1) * distBetween;
beginShape();
vertex(pos - x, height);
while(pos < x + width + 2 * distBetween) {
vertex(pos - x, terrainHeight(pos));
pos += distBetween;
}
vertex(pos - x, height);
endShape(CLOSE);
}
function keyPressed() {
keys[key] = true;
}
function keyReleased() {
delete keys[key];
}
function terrainHeight(x) {
if(x < 0) x = 0;
return height/2 + (noise(x * noiseScale) * (x / 20));
}