基於canvas實現超炫酷的流水燈效果
本文實例為大傢分享瞭基於canvas實現超炫酷的流水燈效果的具體代碼,供大傢參考,具體內容如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>基於canvas超炫酷的流水燈效果</title> <style> *{ margin: 0; padding: 0; } canvas{ border: 1px solid red; width: 100%; height: 100%; } </style> </head> <body onselectstart="return false"> <!-- 添加canvas標簽,並加上紅色邊框以便於在頁面上查看 --> <canvas id="myCanvas" > 您的瀏覽器不支持canvas標簽。 </canvas> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var cx1 = canvas.offsetLeft; var cy1 = canvas.offsetTop; var cx2 = canvas.offsetLeft + canvas.offsetWidth; var cy2 = canvas.offsetTop + canvas.offsetHeight; var bbox = canvas.getBoundingClientRect(); $(function(){ var direction = 'right',x = y = right_count = down_count = left_count = up_count = 0; ctx.beginPath(); //開始一個新的繪制路徑 ctx.moveTo(x, y); //定義直線的起點坐標為(0,0) setInterval(function(){ ctx.strokeStyle = '#'+Math.floor(Math.random()*16777215).toString(16); switch(direction){ case 'right': if(x >= 300 - right_count){ direction = 'down'; right_count++; }else{ x++; } break; case 'down': if(y >= 150 - down_count){ direction = 'left'; down_count++; }else{ y++; } break; case 'left': if(x <= left_count){ direction = 'up'; left_count++; }else{ x--; } break; case 'up': if(y <= up_count + 1){ direction = 'right'; up_count++; }else{ y--; } break; } ctx.lineTo(x, y); ctx.lineCap = 'round'; ctx.lineWidth = 1; //設置線段的寬度 ctx.stroke(); //沿著坐標點順序的路徑繪制直線 }, 1); }) </script> </body> </html>
效果截圖:
流水燈時刻跑著,這裡主要是繞圈圈
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- JavaScript實現網頁版貪吃蛇遊戲
- JavaScript Canvas繪制六邊形網格
- JavaScript實現九宮格拖拽效果
- jquery插件實現代碼雨特效
- JavaScript canvas實現跟隨鼠標移動小球