JavaScript结合Canvas如何绘画画运动小球
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家分享的是有关JavaScript结合Canvas如何绘画画运动小球的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.实现思路首先为了达到我们想要的效果,可以先
千家信息网最后更新 2025年11月07日JavaScript结合Canvas如何绘画画运动小球
这篇文章给大家分享的是有关JavaScript结合Canvas如何绘画画运动小球的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1.实现思路
首先为了达到我们想要的效果,可以先创建一个构造函数。
给构造函数添加对应的属性和方法。
实例化出多个对象,并且保存在数组中。
遍历每个对象,实现画圆。
间隔修改每个球的x,y值。
先准备画布确定对应的宽高:
因为是随机运动,所以要创建一个获取随机数的方法:
function getRandomNum(minNum, maxNum) { switch (arguments.length) { case 1: return Math.round(Math.random() * minNum + minNum); break; case 2: return Math.round( Math.random() * (maxNum - minNum) + minNum); break; case 0: return 0; break; }}// 创建一个Ball的构造函数 function Ball(maxWidth, maxHeight, ctx) { this.ctx = ctx; this.maxWidth = maxWidth; this.maxHeight = maxHeight; // 随机半径 this.r = getRandomNum(5, 15); // 随机x,y坐标 this.x = getRandomNum(this.r, this.maxWidth - this.r); this.y = getRandomNum(this.r, this.maxHeight - this.r); // 平移速度,正负区间是为了移动方向多样 this.speedX = getRandomNum(-2, 2); this.speedY = getRandomNum(-2, 2); // 颜色随机 this.color = `rgba(${getRandomNum(0, 255)}, ${getRandomNum(0, 255)}, ${getRandomNum(0, 255)},${Math.random()})`; } Ball.prototype = { draw: function () { ctx.beginPath(); ctx.fillStyle = this.color; ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2); ctx.fill(); ctx.closePath(); }, move: function () { // 判断边界值,让圆球始终保证在画面内 if (this.x > this.maxWidth - this.r || this.x < this.r) { this.speedX = -this.speedX; } if (this.y > this.maxHeight - this.r || this.y < this.r) { this.speedY = -this.speedY; } this.x += this.speedX; this.y += this.speedY; } }; // 创建100个Ball实例 let balls = []; for (let i = 0; i < 100; i++) { let newBall = new Ball(maxWidth, maxHeight, ctx); newBall.draw(); balls.push(newBall); }2.静态效果
现在我们画出了不同半径和颜色的静止圆球:

调用move方法,间隔修改每个球的x,y值。
setInterval(() => { // 每次画之前都要清除画布 ctx.clearRect(0, 0, maxWidth, maxHeight); ctx.fillStyle = '#000'; ctx.fillRect(0, 0, maxWidth, maxHeight); for (let j = 0; j < 100; j++) { balls[j].draw(ctx); balls[j].move(); }}, 100);效果展示:
感谢各位的阅读!关于"JavaScript结合Canvas如何绘画画运动小球"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
运动
函数
效果
方法
小球
绘画
内容
半径
圆球
实例
对象
更多
画布
篇文章
颜色
不同
不错
实用
区间
坐标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库交互频繁
yii2数据库配置
南京智能软件开发系统
数据库工作原理讲解视频
日越兴餐饮管理系统数据库
网络安全法与执法
网络安全宣传小视频 百度网盘
数据库技术与应用下试题
恢复数据库备份文件
互联网络技术服务信息
网络安全抽查评估活动总结
手机贵阳麻将软件开发公司
数据库的完整性简答
计算机国家三级网络技术证书
香港恒生互联网科技业指数
一念逍遥服务器开服时间2022
软件开发公司市场调研
分布式服务器的设计
网络安全云展览直播
江苏ntp校时服务器时间同步
梦幻西游服务器配置
蓝数据库安装
医保专网网络安全的通知
信通院网络安全研究员面试
文科生学计算机网络技术能学会吗
网络安全媒介渗透教案
软件开发有哪些热门职位
一级网络安全素质教育简单吗
开展网络安全应急处置演练
文科两个主要数据库