1. 程式人生 > >canvas 實現簡易彈幕

canvas 實現簡易彈幕

這裡寫圖片描述

<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8" />
    <title>HTML5文字彈幕效果程式碼</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
            list-style: none;
            border: 0;
        }

        body
{ background: #bcbcbc; } .main { width: 600px; height: 400px; margin: 0 auto; position: relative; } .main img { position: absolute; right: 0; bottom: 0; width: 100px; height
: 100px
; }
#canvas { display: block; background: #000; }
</style> </head> <body> <div class="main"> <canvas id="canvas"></canvas> </div> <script type="text/javascript"> var canvas = document.getElementById('canvas'
); var ctx = canvas.getContext("2d"); var width = 600; var height = 400; var colorArr = ["yellow", "pink", "orange", "red", "green"]; var textArr = [ "我要給你們點顏色看看", "牆都扶不住你", "我還能活多久", "見了金幣哦", "你在正月裡", "臥槽 你還在啊" ] canvas.width = width; canvas.height = height; var image = new Image(); ctx.font = "20px Courier New"; var numArrL = [80, 100, 5, 300, 500, 430]; //初始的X var numArrT = [80, 100, 20, 300, 380, 210]; //初始的Y setInterval(function() { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.save(); for (var j = 0; j < textArr.length; j++) { numArrL[j] -= (j + 1) * 0.6; ctx.fillStyle = colorArr[j] ctx.fillText(textArr[j], numArrL[j], numArrT[j]); } for (var i = 0; i < textArr.length; i++) { if (numArrL[i] <= -500) { numArrL[i] = canvas.width; } } ctx.restore(); }, 30)
</script> </body> </html>