共计 926 个字符,预计需要花费 3 分钟才能阅读完成。
HTML5 canvas 瀑布流文字效果的示例代码分享
文章中分享了 HTML5 canvas 瀑布流文字效果的示例代码,一块来看一下吧。
cloth
*{
padding: 0;
margin: 0;
}
body{
background:#000;
}
var c = document.getElementById(“c”);
var ctx = c.getContext(“2d”);
// 制作全屏
c.height = window.innerHeight;
c.width = window.innerWidth;
// 汉字从 Unicode 字符集
var chinese = “igeekbar~”;
// 将字符串转换为一个数组中的单个字符
chinese = chinese.split(“”);
var font_size = 20;
var columns = c.width/font_size; // 雨的列数
// 每列的一个数组
var drops = [];
// 下面是×坐标
//1 = y 在下降(最初是相同的)
for(var x = 0; x
drops[x] = 1;
// 画
function draw()
{
// 黑 BG 的帆布
// 半透明 BG 显示轨迹
ctx.fillStyle = “rgba(0, 0, 0, 0.05)”;
ctx.fillRect(0, 0, c.width, c.height);
ctx.fillStyle = “#0F0”; // 字体颜色
ctx.font = font_size + “px arial”;
// 循环字体
for(var i = 0; i
{
// 随机汉字打印
var text = chinese[Math.floor(Math.random()*chinese.length)];
//x = ifont_size, y = value of drops[i]font_size
ctx.fillText(text, ifont_size, drops[i]font_size);
// 在屏幕上划线后,把它的顶部随机发送到顶部
// 将一个随机性添加到复位中,使分散在轴上的下降
if(drops[i]*font_size > c.height && Math.random() > 0.975)
drops[i] = 0;
// 增加的 Y 坐标
drops[i]++;
}
}
setInterval(draw, 33); 加粗文字