clearInterval(tickInterval); tick = function() { // If mouseIsDown, do mouseAction if (mouseIsDown && !shaping) { mouseAction(null,mousePos.x,mousePos.y); } // Get the canvas var canvas = document.getElementById("game"); var ctx = canvas.getContext("2d"); // Clear the canvas if (!settings["bg"]) {ctx.clearRect(0, 0, canvas.width, canvas.height)} else { if(settings["bg"] instanceof Array) { settings.bgAngle ??= 0; var angle = (settings.bgAngle) * Math.PI / 180; ctx.fillStyle = ctx.createLinearGradient( 0, 0, canvas.width * Math.cos(angle) + 0, canvas.height * Math.sin(angle) ); var colors = settings["bg"]; for(i = 0; i < colors.length; i++) { var color = colors[i]; var position = i / (colors.length - 1); ctx.fillStyle.addColorStop(position,color); }; } else { ctx.fillStyle = settings["bg"]; }; ctx.fillRect(0, 0, canvas.width, canvas.height); } if (!paused && settings.events) { doRandomEvents(); } drawPixels(); if (shaping) { if (shaping === 1) { // Draw a white line from shapeStart.x to shapeStart.y ctx.beginPath(); ctx.strokeStyle = "white"; ctx.lineWidth = 2; ctx.moveTo(shapeStart.x*pixelSize+pixelSizeHalf, shapeStart.y*pixelSize+pixelSizeHalf); ctx.lineTo(mousePos.x*pixelSize+pixelSizeHalf, mousePos.y*pixelSize+pixelSizeHalf); ctx.stroke(); } } //ticks ++; } tickInterval = setInterval(tick, 1000/tps);