1. 程式人生 > >HTML5 Cavans(10) 簡單動畫:擺動

HTML5 Cavans(10) 簡單動畫:擺動

複製程式碼
<!DOCTYPE html >
<html>
<head>
    <title></title>
    <script type="text/javascript">
        window.onload = function () {
            var canvas = document.getElementById("myCanvas");
            var context = canvas.getContext("2d");
            var btnStart = document.getElementById(
"btnStart"); var btnStop = document.getElementById("btnStop"); var isPlay = true; btnStart.style.display = "none"; btnStart.onclick = function () { isPlay = true; this.style.display = "none"; btnStop.style.display
= ""; animate(); } btnStop.onclick = function () { isPlay = false; this.style.display = "none"; btnStart.style.display = ""; } //形狀類,建構函式傳入起始座標,寬度,長度 function Shape(x, y, width, height) {
this.x = x; this.y = y; this.width = width; this.height = height; } var shapes = []; //隨即產生形狀 for (var i = 0; i < 10; i++) { var x = Math.random() * 250; var y = Math.random() * 250; var width = Math.random() * 50; shapes.push(new Shape(x, y, width, width)); } function animate() { context.clearRect(0, 0, canvas.width, canvas.height); var len = shapes.length; for (var i = 0; i < len; i++) { var tmpShape = shapes[i]; //產生擺動效果 tmpShape.x += Math.random() * 4 - 2; tmpShape.y += Math.random() * 4 - 2; context.fillRect(tmpShape.x, tmpShape.y, tmpShape.width,tmpShape.height); } if (isPlay) setTimeout(animate, 33); } animate(); } </script> </head> <body> <canvas id="myCanvas" height="500px" width="500px" style="border:1px black solid"> </canvas> <input id="btnStart" type="button" value="start" > <input id="btnStop" type="button" value="stop" > </body> </html>
複製程式碼