小圆形从上而下掉落

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
<!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事件.

CCF 201909-2 小明种树(续) 小明种树(续) 第一行包含一个正整数N,表示苹果数的棵树。按圆排列 第1+i行(1<=i<=N),每行的格式为mi,ai1,ai2,…,aim。 其中,第一个正整数mi表示本行后面的整数个数。 后续的mi个整数表示小明对第i棵苹果树的操作记录。39 若aij(1<=j<=mi)为正整数,则表示小明进行了重新统计该棵数上的苹果个数的操作,统计 的苹果个数为aij;若为零或负... 阅读详情

相关推荐

物体掉落动画效果css html,CSS3 弹性圆球掉落动画(带挤压变效果)

CSS语言:CSSSCSS确定.load_block {position: absolute;width: 100%;height: 100%;top: 0;left: 0;background-color: #464544;}.load_block .lb {position: absolute;top: 50%;left: 50%;width: 80px;height: 80px;margin...

weixin_31832223的博客 1716

Java编程那些事儿79——Random随机处理

Java编程那些事儿79——Random随机处理陈跃峰出自:http://blog.csdn.net/mailbomb9.6.2 Random类         在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等。         在Java API中,在java.util包中专门提供了一个

爪哇米工作室陈跃峰的移动开发博客 6077

JS 小球坠落效果

CSSball{ width: 100px; height: 100px; border-radius: 100px; position: absolute; left: 50%; top: 500px; margin-left: -50px; background-color: #34538b; background-ima

一个想死的骷髅 3123

井盖为什么是圆

井盖为什么是圆? 当被问到这个问题的时候,我想大部分人只能想到回答5,事实上我也没有想到这么多回答,据说这是google的一道面试题,在没有看答案之前,你能想到多少个理由? 1.井盖比较重,圆的搬动容易. 2.圆的只要放上去就不会存在盖错的情况,不要考虑对齐....

baju4101的博客 393

下水盖为什么是圆的?

首先,从生活角度来说,下水盖制造为圆有三个优点: 1、下水盖是一种属于金属质地,本身质量很大的物体,所以运输时所耗费的人力较多,要把下水盖移到固定位置时,则至少需要两个人合力才能完成。而如果把下水盖制造为圆的,那便只需要一个人就足够了。先把下水盖从水平放置转为立体放置,因为下水盖是圆的,没有棱角,则利用车轮原理,人们便可以轻轻松松地通过滚动传运下水盖了,这样既节省人力又节省时间,大大提高了工

mrdu_somefun的博客 1302

HOW - CSS 常见效果实现

常见 CSS 效果实现总结。

weixin_58540586的博客 1264

有意思的面试题:井盖为什么是圆的?

今天在网上看到一个有趣的面试题“井盖为什么是圆的”?

阿瓦的自动测试空间 2950

为什么下水道的盖子是圆的? (微软公司考员工的题目)

zengxianghu的专栏 1466

[益智]:为什么下水道的盖子是圆的?

题目描述 为什么下水道的盖子是圆的? 正确思路: 主考官认为的最好回答是: 正方的盖子容易掉到洞里去。 如果盖子真掉进去的话,那么不是发生伤人事故,就是盖子会掉到水里。 为什么正方的盖子容易掉下去呢? 这是因为正方的对角线是其边长的约1.414倍。如果把一个正方盖子垂直地立起来,稍微一转,它就会很容易掉到下水道里去。与此相反,圆的直径都是等长的,这使它很难掉进去。 一种诙谐回答是: 下水道的洞口是圆的,盖子当然也应该是圆的。 那么为什么下水道的洞口是圆的? 因为圆的洞比方的洞好挖。 还有另外

AngelDg的博客 880

理查德·范曼在微软找工作

面试官:现在我们要问一个问题,看看你的创造性思维能力。不要想得太多,运用日常生活中的常识,描述一下你的想法。这个问题是,下水道的井盖为什么是圆的? 范曼:它们并不都是圆的,有些是方的,的确有些圆井盖,但我也看过方的,长方的。 面试官:不过我们只考虑圆的井盖,他们为什么是圆的? 范曼:如果我们只考虑圆的,那么它们自然是圆的。 面试官:我的意思是,为什么会存在圆的井盖?把井盖设计成圆的有什么特殊的

hnhbdss的专栏 1063

合成大西瓜之抱歉~ 我只有大西瓜和刀剑神域~!!

合了这么多的大西瓜,我终于合出了琪亚娜~ 还有满屏乱跳的水果~ (干货内容:python 图库的使用,文件操作,还有简单了解下Cocos游戏引擎 ) 有啥不懂滴可以在公众号 Java4ye 中留言~

公众号 Java4ye 2596

下水道的井盖为什么是圆的?

  下水道的井盖为什么是圆的?  微软的顾问有时会得到一些特殊待遇,因为在面试时询问他们的问题并不是真的算算术。  □范例  理查德·范曼在微软找工作  面试官:现在我们要问一个问题,看看你的创造性思维能力。不要想得太多,运用日常生活中的常识,描述一下你的想法。这个问题是,下水道的井盖为什么是圆的?  范曼:它们并不都是圆的,有些是方的,的确有些圆井盖,但我也看过方的,长方的。  面试官:不过我们

yun_5025的专栏 1815

20250722_032011 项目笔记 红包雨

pyhui的技术博客 342

一个像植物大战僵尸的Flash游戏1

http://bbs.9ria.com/thread-80527-1-6.html 这个教程是我翻译的。。不是我原创的。。原来是发表在新闻资讯版块,后来被移到了游戏编程版块,所以关于原作者的一些信息等都没了。。。 查看该系列的其它文章: 做一个像植物大战僵尸的Flash

guanghua2009的专栏 3373

BZOJ 1043 圆弧覆盖

为按照极角,转化为线段覆盖问题。 这题有个特别混蛋的trick,就是后掉落的把先掉落的完全覆盖了,我就没考虑这个,无限wa啊!! View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <algorithm...

weixin_30649859的博客 122

ZJU2102 Tables - 计算几何 线段与圆相交

题目大意:输入n个圆桌子的圆心和半径(从俯视的角度看),给出一根木棍两端点的坐标,问木棍会不会掉到地上。(n分析: 设木棍端点为a,b,因为木棍质量分布均匀,所以重心c一定在(a+b)/2处。1、若重心c点被包放在任何一个桌子上,则木棍不会掉;2、否则,若重心c两侧分别有一部分放在桌子上,木棍也不会掉。第一种情况需要判断点是否在圆内,很简单,判断点c到圆心的距离小于等于半

杨理垚的技术专栏 3312

为什么井盖是圆的?工程派的回答

我是自来水公司做工程的,整天和这个打交道 其实井盖大多数是方的,只是大多数人没看见而已 因为一直有“因为圆井盖不会掉下去,所以才把井盖做成圆的”这种说法 所以关注这个问题的人会比较关注马路上比较常见的圆井盖 但是如果你有闲暇,去马路上、人行道上、到小区里把整个区域所有的井盖统计一下 绝对方的比圆的多 仅马路路面而言,有可能圆井盖多 其实“因为圆井盖不会掉下去,所以才把井盖做成圆的

敬诚为之 3292

zoj 2102 Tables

计算几何

ZekiDai的博客 117

简易弹球游戏 (2)

简单弹球游戏 一.小游戏功能描述 功能一:进入小游戏界面,点击play,游戏开始,点击exit可继续上一局游戏。 功能二:小球和球拍分别以圆区域和矩区域代替,小球开始以随机速度向下运动,遇到上方的障碍或下方的球拍时小球反弹,球拍由用户控制,球拍按左右键时,球拍会左右移动。 功能三:若没有接住球,游戏失败,则屏幕显示goodbye。 二.过程及重要代码 1.定义屏幕、球拍、球、障碍并设置属性 //屏幕宽高 int screenWidth = 0; int screenHeight = 0;

fjnu_se的博客 405
下一篇: javascript的原始数据类型
Alisa09
博客等级 码龄9年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值