核心提示:一直对界面比较感兴趣,前段时间学习了html和js,学的很潦草。今天是第一天学canvas,很兴奋,上代码!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Tran...
一直对界面比较感兴趣,前段时间学习了html和js,学的很潦草。
今天是第一天学canvas,很兴奋,上代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <style type="text/css"> canvas{ border:1px solid red; } </style> </head> <body> <!-- height和width要在标签内部设置 --> <canvas id="cav" height="500" width="500">浏览器不支持</canvas> <script type="text/javascript"> var cav = document.getElementById("cav"); ctx = cav.getContext("2d"); //小球类 function Ball(x,y,radio,color){ this.x = x; this.y = y; this.radio = radio; ctx.beginPath(); ctx.arc(x, y, radio, 0 , Math.PI * 2, true); ctx.fillStyle = color; ctx.fill(); } Ball.prototype = { update : function(x,y,radio,color){ ctx.clearRect(this.x-this.x/2, this.y-this.y/2, this.x, this.y); this.x = x; this.y = y; this.radio = radio; ctx.beginPath(); ctx.arc(x, y, radio, 0 , Math.PI * 2, true); ctx.fillStyle = color; ctx.fill(); } } ball = new Ball(100,100,50,"blue"); var x = 100; setInterval(function(){ ball.update(x++,x++,50,"blue"); }, 20) </script> </body> </html>
实现小球的轨迹控制。
关于原型的理解:
把属性方法直接写在function{}内部,叫实例属性或者方法,各个实例之间不能共享,连方法也不能共享。
prototype实际上指向是一个对象,多个实例指向一个原型,实现共享。