html寫流星雨(完整代碼)


人生不可能總是順心如意,但持續朝着陽光走,影子就會躲在后面,刺眼,卻是對的方向

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>流星雨</title>
<meta name="keywords" content="關鍵詞,關鍵字">
<meta name="description" content="描述信息">
<style>
body {
margin: 0;
overflow: hidden;
}
</style>
</head>

<body>

<!--
<canvas>畫布 畫板 畫畫的本子
-->
<canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>

<!--
javascript
畫筆
-->
<script>

//獲取畫板
//doccument 當前文檔
//getElement 獲取一個標簽
//ById 通過Id名稱的方式
//var 聲明一片空間
//var canvas 聲明一片空間的名字叫做canvas
var canvas = document.getElementById("canvas");
//獲取畫板權限 上下文
var ctx = canvas.getContext("2d");
//讓畫板的大小等於屏幕的大小
/*
思路:
1.獲取屏幕對象
2.獲取屏幕的尺寸
3.屏幕的尺寸賦值給畫板
*/
//獲取屏幕對象
var s = window.screen;
//獲取屏幕的寬度和高度
var w = s.width;
var h = s.height;
//設置畫板的大小
canvas.width = w;
canvas.height = h;

//設置文字大小
var fontSize = 14;
//計算一行有多少個文字 取整數 向下取整
var clos = Math.floor(w/fontSize);
//思考每一個字的坐標
//創建數組把clos 個 0 (y坐標存儲起來)
var drops = [];
var str = "qwertyuiopasdfghjklzxcvbnm";
//往數組里面添加 clos 個 0
for(var i = 0;i<clos;i++) {
drops.push(0);
}

//繪制文字
function drawString() {
//給矩形設置填充色
ctx.fillStyle="rgba(0,0,0,0.05)"
//繪制一個矩形
ctx.fillRect(0,0,w,h);

//添加文字樣式
ctx.font = "600 "+fontSize+"px 微軟雅黑";
//設置文字顏色
ctx.fillStyle = "#00ff00";

for(var i = 0;i<clos;i++) {
//x坐標
var x = i*fontSize;
//y坐標
var y = drops[i]*fontSize;
//設置繪制文字
ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);
if(y>h&&Math.random()>0.99){
drops[i] = 0;
}
drops[i]++;
}

}
//定義一個定時器,每隔30毫秒執行一次
setInterval(drawString,30);
</script>
</body>
</html>
運行效果截圖:

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM