使用 Canvas 的颜色样式实现闪动的方块墙,创建 8×6 个方块,并随机设置方块颜色
时间: 2024-03-01 18:50:57 浏览: 107
Canvas绘制闪电动画特效
好的,我明白了你的问题。以下是使用 Canvas 实现闪动的方块墙的代码,其中包括创建 8x6 个方块并随机设置颜色的功能:
```html
<!DOCTYPE html>
<html>
<head>
<title>闪动的方块墙</title>
<style type="text/css">
canvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="canvas" width="400" height="300"></canvas>
<script type="text/javascript">
// 获取画布和上下文
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
// 定义方块的宽度和高度
var blockWidth = 50;
var blockHeight = 50;
// 定义方块墙的行数和列数
var rows = 6;
var cols = 8;
// 随机生成颜色
function getRandomColor() {
var letters = "0123456789ABCDEF";
var color = "#";
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
// 创建方块墙
function createBlockWall() {
for (var i = 0; i < rows; i++) {
for (var j = 0; j < cols; j++) {
// 随机生成颜色
var color = getRandomColor();
// 绘制方块
ctx.fillStyle = color;
ctx.fillRect(j * blockWidth, i * blockHeight, blockWidth, blockHeight);
}
}
}
// 定义闪动函数
function blink() {
// 随机选择一个方块
var randomRow = Math.floor(Math.random() * rows);
var randomCol = Math.floor(Math.random() * cols);
// 随机生成颜色
var color = getRandomColor();
// 绘制方块
ctx.fillStyle = color;
ctx.fillRect(randomCol * blockWidth, randomRow * blockHeight, blockWidth, blockHeight);
}
// 创建方块墙
createBlockWall();
// 每隔 0.5 秒闪动一次
setInterval(blink, 500);
</script>
</body>
</html>
```
这段代码将创建一个 8x6 的方块墙,并且每隔 0.5 秒会随机选择一个方块并随机设置颜色,让它闪动起来。
阅读全文