我正在尝试制作一个函数或if条件,每秒随机选择一个三个圆圈。
上下文是我要制作动画,圆圈应该从右侧画布高度/ 2到左侧。每一秒都应该在画布上绘制一个新的圆圈,但是在新的圆圈之前绘制的其他圆圈不应该被删除。我怎么能做到这一点?
var circle1={color: blue};
var circle2={color: yellow};
var circle3={color: orange};
var circles=[];
circles.push(circle1);
circles.push(circle2);
circles.push(circle3);
function drawCircle(circle){
ctx.beginPath();
ctx.arc(ballx * 108, canvasHeight / 2, x*5, 0, 2*Math.PI, false);
ctx.fillStyle = 'circle.color';
ctx.fill();
}
答案 0 :(得分:3)
此函数从数组中返回一个随机元素:
function getRandomElement(array) {
if (array.length == 0) {
return undefined;
}
return array[Math.floor(Math.random() * array.length)];
}
要查看它的实际效果,请运行以下代码段:
function getRandomElement(array) {
if (array.length == 0) {
return undefined;
}
return array[Math.floor(Math.random() * array.length)];
}
var circles = [
{color: 'yellow'},
{color: 'orange'},
{color: 'red'},
{color: 'pink'},
{color: 'blue'},
{color: 'green'},
{color: 'purple'},
{color: 'brown'}
];
document.write('random circle: ' + JSON.stringify(getRandomElement(circles)));