Javascript画布如何绘制随机形状?
当用户加载页面时,我希望绘制一个随机形状。 例如一个圆。 当用户再次加载页面时,我希望绘制另一个随机形状 我知道如何绘制形状,但我可以让它们随机出现吗?您可以使用Math.Floor函数生成随机数,然后使用该随机数从阵列中绘制特定形状 由于您还没有提供数组,我创建了一个非常简单的JSFIDLE,向您展示了一个示例,只需一直按左上角的run按钮即可生成一个新的随机数 HtmlJavascript画布如何绘制随机形状?,javascript,canvas,Javascript,Canvas,当用户加载页面时,我希望绘制一个随机形状。 例如一个圆。 当用户再次加载页面时,我希望绘制另一个随机形状 我知道如何绘制形状,但我可以让它们随机出现吗?您可以使用Math.Floor函数生成随机数,然后使用该随机数从阵列中绘制特定形状 由于您还没有提供数组,我创建了一个非常简单的JSFIDLE,向您展示了一个示例,只需一直按左上角的run按钮即可生成一个新的随机数 Html 为每个形状创建一个函数,将这些函数放到一个数组中,然后调用一个具有随机索引的随机形状生成器,足够随机吗?请向我们展示您的尝
为每个形状创建一个函数,将这些函数放到一个数组中,然后调用一个具有随机索引的随机形状生成器,足够随机吗?请向我们展示您的尝试,以便我们了解您试图实现的目标。这只是一个随机问题,与画布无关,将所有形状存储在一个数组中,让函数从数组中抽取,每次发送不同的数组索引。我在数组中得到了我的形状。如何使函数从该数组中绘制ramdom函数?
<canvas id="Canvas" width="400" height="400"></canvas>
var canvas = document.getElementById("Canvas");
var context = canvas.getContext("2d");
context.fillStyle = "#AAA";
context.fillRect(0, 0, 400, 400);
var randomShape = Math.floor((Math.random() * 3) + 1);
if (randomShape == 1) {
context.beginPath();
context.rect(25, 50, 200, 100);
context.fillStyle = '#00FF00';
context.fill();
context.lineWidth = 7;
context.strokeStyle = '#000';
context.stroke();
} else if (randomShape == 2) {
context.beginPath();
context.arc(200, 200, 69, 0, 2 * Math.PI, false);
context.fillStyle = '#FF0000';
context.fill();
context.lineWidth = 5;
context.strokeStyle = '#000';
context.stroke();
} else if (randomShape == 3) {
context.beginPath();
context.arc(276, 255, 70, 0, Math.PI, false);
context.closePath();
context.lineWidth = 5;
context.fillStyle = '#0000FF';
context.fill();
context.strokeStyle = '#000';
context.stroke();
}