小圆形从上而下掉落
来源:互联网 发布:淘宝hd ipad历史版本 编辑:程序博客网 时间:2024/05/16 19:44
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>多个圆从上二下掉落</title></head><body> <canvas id="canvas" width="406px" height="300px"></canvas></body> <script> var canvas=document.getElementById("canvas"); var context=canvas.getContext("2d");//创建画布对象 var img=new Image();//创建圆心的背景图片 img.src="bg.png"; //创建一个圆形对象 function Circle(){ this.r=Math.floor(Math.random()*6+5);//圆的半径从5-10 this.x=Math.random()*(canvas.width-2*this.r+1)+this.r;//横坐标最小值是0+radius,最大值是长度-radius,可以不取整 this.y=0; this.red=parseInt(Math.random()*256); this.g=parseInt(Math.random()*256); this.b=parseInt(Math.random()*256); if(! Circle.prototype.paint) {//在原型对象中添加方法,可以节省内存 Circle.prototype.paint = function () { //创建路径的方式创建一个圆形 context.fillStyle="rgb("+this.red+","+this.g+","+this.b+")"; context.beginPath(); context.arc(this.x,this.y,this.r,0,Math.PI*2); context.fill(); } } if(!Circle.prototype.step){ Circle.prototype.step=function(){ this.y+=10; } } } var circles=[];//创建一个放置圆形的数组,数组中是多个圆形对象 function CreateCircle(){//创建圆形对象 var circle=new Circle(); circles.push(circle);//将创建的圆形对象添加到数组中 } function PaintCircle(){//遍历数组对象绘制所有的圆形 for(var i=0;i<circles.length;i++){ circles[i].paint(); } } function StepCircle() {//遍历数组将所有图形下移 for(var i=0;i<circles.length;i++){ circles[i].step(); } } var timer=0; setInterval(function(){ timer++; //先绘制背景图,再绘制圆,在移动圆,最后继续创建圆 context.drawImage(img,0,0); PaintCircle(); StepCircle(); if(timer%5==0){ CreateCircle(); } },100) </script></html>
绘制的是圆形自上而下掉落,原来的圆形并没有消失,只是用背景图遮盖了,每一次都是重新绘制,先绘制背景图,后绘制圆形,注意,在绘制的过程中,当背景图片加载结束后,才可以
在上面绘制圆形,否则错误,可以使用onload事件.
0 0
- 小圆形从上而下掉落
- 面试训练从上而下打印二叉树
- 伸展树及从上而下的伸展树
- CEGUI下圆形小地图实现
- 【从下而上学习Redis】数据结构篇(一):跳跃表(skiplist)
- 剑指Offer23 : 从上而下打印二叉树--层序遍历
- 点击按钮从上而下弹出漂亮的模拟框
- 点击登录按钮从上而下弹出登录界面窗口
- Glide显示在自定义圆形ImageView上的小问题
- 如何从Internet上有效而稳定地下载文件
- 如何从Internet上有效而稳定地下载文件
- 如何从Internet上有效而稳定地下载文件
- 如何从Internet上有效而稳定地下载文件
- 如何从Internet上有效而稳定地下载文件
- Cmaera圆形小地图
- 编译原理学习笔记03——(唐僧团队智过平顶山—学从上而下语法树)——2014_1_16
- 自定义UI(由上而下版)
- 自定义dialog横向全屏,实现从右边进入,从底部掉落动画
- C#161课的主要内容
- java 图片与字符串的转换
- centOS7下安装MySQL
- materials about "miR-501 Alters Susceptibility to HCC"
- POJ 1417 True Liars 带权并查集+DP
- 小圆形从上而下掉落
- JUnit测试出现类找不到异常——解决办法
- C++中vector的用法
- 常见对象-String类的compareTo()方法的源码解析
- 最优参数选取
- rip metricin默认是0和rip metricout默认是1
- SEO学习笔记一 (SEO主要内容及关键词)
- C++实验六-数组合并
- 小马哥--高仿苹果7p 主板S89P 6582刷机拆机主板图 多图展示