这个案例的原理及分析和上一个:canvas之小球动画 是一样的;只不过在这里小球的运动速度、小球的半径以及小球的颜色我们都设置为了随机而已

 canvas {border: 1px solid}
<canvas width="400" height="300">您的浏览器不支持canvas标签</canvas>
 <script>var mycanvas = document.querySelector('canvas');var ctx = mycanvas.getContext('2d');//使用构造函数生成小球function Circle() {//半径10-30this.r = Math.floor(Math.random() * 20 + 11);//初始坐标this.x = Math.floor(Math.random() * (400 - this.r));this.y = Math.floor(Math.random() * (300 - this.r));//运动值this.dx = Math.floor(Math.random() * 8);this.dy = Math.floor(Math.random() * 6);//小球颜色this.color = 'rgb(' + Math.floor(Math.random() * 256) + ',' + Math.floor(Math.random() * 256) + ',' + Math.floor(Math.random() * 256) + ')';}//方法写在原型上//判断小球运动轨迹Circle.prototype.update = function() {//x轴方向this.x += this.dx;if (this.x <= this.r) {this.dx = -this.dx;} else if (this.x >= (400 - this.r)) {this.dx = -this.dx;}//y轴方向this.y += this.dy;if (this.y <= this.r) {this.dy = -this.dy;} else if (this.y >= (300 - this.r)) {this.dy = -this.dy;}};//绘制小球Circle.prototype.render = function() {ctx.beginPath();ctx.arc(this.x, this.y, this.r, 0, 2 * Math.PI);ctx.fillStyle = this.color;ctx.fill();ctx.closePath();};//随机生成三个小球var arr = [];for (var i = 0; i < 3; i++) {arr[i] = new Circle();}console.log(arr);// 设置定时器var timer = setInterval(function() {//小球运动之前先清除ctx.clearRect(0, 0, mycanvas.width, mycanvas.height);for (var i = 0; i < arr.length; i++) {arr[i].update();arr[i].render();}}, 30);
</script>

canvs之多个小球运动相关推荐

  1. Windows Store App JavaScript 开发:小球运动示例

    通过前面内容的学习,相信读者已经对开发基于JavaScript的Windows应用商店应用有了一定的了解,本小节通过一个小球运动的示例来介绍如何新建一个JavaScript的Windows应用商店项目 ...

  2. 简单html js 特效,Js实现简单的小球运动特效

    废话不多说了,直接给大家贴js代码了,具体代码如下所示: //定义局部变量 var directX=;//定义x轴方向 var directY=;//定义y轴方向 var ballX=;//定义x轴坐 ...

  3. css动画,小球运动

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 随着用户的需求,以及为提升用户体验今天我们讲利用css制作动画 提示:以下是本篇文章正文内容,下面案例可供参考 一.定义关键帧 ...

  4. QT5-实现小球运动碰撞

    QT实现小球运动碰撞反弹 思路 结构 设置运动速度 画出小球 BoundingRect和Shape函数 运动和碰撞反弹 编程工具为vs2010+qt 5.1.2 思路 由于第一次刚使用qt,所以就写写 ...

  5. 【Unity】控制小球运动

    跟着B站教程,做了个简单的控制小球运动的场景,记录一下: 文章目录 搭建场景 小球运动脚本 相机跟随小球运动脚本 效果展示 搭建场景 建立地面Plane.小球Player和四面墙Wall. 小球运动脚 ...

  6. javafx小球运动

    javafx使用图形界面在随机位置生成颜色随机.半径随机.初始运动速度随机的小球,然后按照某种轨迹进行运动(运动轨迹方程自选),到边界碰撞返回. 我太爱我的java张春凤老师了,第一次写博客记录编程生 ...

  7. java小球反弹_模拟小球运动、撞击、反弹效果

    [实例简介] 模拟一个小球在屏幕内运动,当撞击到边缘时会反弹,底部不会反弹,底部有一个长条,左右移动来使小球反弹 [实例截图] [核心代码] b79af779-cdf0-4383-9460-5ab61 ...

  8. canvas实现许多小球运动

    首先先看一下效果: 一.canvas canvas是画布的意思,画布,就要在其上画画,画画的步骤有: ① 抬起笔 beginPath(): ② 把原来不需要的擦干净 clearRect(0,0,w,h ...

  9. java 多线程 动画_Java多线程实现简单动画(小球运动)效果

    Ŀ¼ 首先,严格按照操作系统理论来说,多线程并没有实现真正的同时进行.而是CPU将工作时间分成很多很短的时间片(Time slicing),每个时刻只能执行一个线程. 主要有两种方式实现多线程,一种是 ...

最新文章

  1. 大话设计模式—原型模式
  2. android 删除目录下所有文件大小,Android 删除文件夹(文件夹以及文件夹下所有的文件)、文件...
  3. Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery
  4. Android用户界面程序设计示例
  5. 从ncbi下载数据_如何从NCBI下载所有细菌组件
  6. 附带备忘录的斐波那契(C++)
  7. 推荐专栏丨《DBA的奋斗路》
  8. 对话框:创建对话框模板和修改对话框属性
  9. 想招到优秀的程序员?这些坑一定不要踩
  10. 数据分析能不能替代Data Mining?
  11. python—range() 函数—步长为正,左闭右开;步长为负,左开右闭
  12. Java编程:查找算法——顺序查找、二分查找、插值查找、斐波那契查找
  13. COMSOL 固体力学 第一主应力、第二主应力、第三主应力、径向应力、环向应力、切向应力 截面一维曲线
  14. 小程序中视频作为页面背景
  15. no.8 python 和 Linux (笔记)
  16. 家谱只能记家族好事吗?家丑不可外扬,后人读谱一脸懵?
  17. BFGS算法(Broyden-Fletcher-Goldfarb-Shanno算法)
  18. 联想开机按f2怎么修复系统图解_windows10开机按f几进入一键还原 按下F2就进入联想电脑拯救系...
  19. 管理2.0 (3):从粗放到精细化的企业管理升级路
  20. 姚前:美联储数字货币原型系统简析

热门文章

  1. JSON数组,JSON对象,数组的区别
  2. route命令的详细使用介绍
  3. 书中自有黄金屋,书中自有颜如玉
  4. java获取鼠标在屏幕中的位置 方法一_Java在多个监视器环境中获取鼠标位置
  5. 基于Halcon学习的缺陷检测【一】detect_mura_blur.hdev
  6. 医学图像处理——图像边缘检测(一)——掩模的概念、点检测、线检测
  7. PCT专利申请流程有哪些?
  8. Python基础(二) | Python的基本数据类型
  9. 图像分割 - 阈值处理 - 多阈值处理(OTSU)
  10. C++算法Day1之有趣的跳跃