简单的直线运动
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Animation</title> </head> <body> <script> window.addEventListener('load', eventWindowLoaded, false); function eventWindowLoaded(){ canvasApp(); } function canvasApp(){ var pointImage=new Image(); pointImage.src="1.png"; function drawScreen(){ context.fillStyle="#eeeeee"; context.fillRect(0,0,theCanvas.width,theCanvas.height); context.strokeStyle="black"; context.strokeRect(1,1,theCanvas.width-1,theCanvas.height-2); if(moves>1){ moves--; ball.x+=xunits; ball.y+=yunits; } points.push({x:ball.x,y:ball.y}); for(var i=0;i<points.length;i++){ context.drawImage(pointImage,points[i].x,points[i].y,1,1); } context.fillStyle="black"; context.beginPath(); context.arc(ball.x,ball.y,15,0,Math.PI*2,true); context.closePath(); context.fill(); } var speed=5; var p1={x:20,y:250}; var p2={x:480,y:250}; var dx=p2.x-p1.x; var dy=p2.y-p1.y; var distance=Math.sqrt(dx*dx+dy*dy); var moves=distance/speed; var xunits=(p2.x-p1.x)/moves; var yunits=(p2.y-p1.y)/moves; var ball={x:p1.x,y:p1.y}; var points=new Array(); theCanvas=document.getElementById("canvasOne"); context=theCanvas.getContext('2d'); setInterval(drawScreen, 33) } </script> <div style="position:absolute;top:50px;left:50px;"></div> <canvas id="canvasOne" width="500" height="500"></canvas> </body> </html>
posted on 2013-07-15 22:55 Ijavascript 阅读(377) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步