JavaScript结合Canvas如何绘画画运动小球
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章给大家分享的是有关JavaScript结合Canvas如何绘画画运动小球的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.实现思路首先为了达到我们想要的效果,可以先
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
成绩数据库导入错误
我的世界服务器红石变慢
服务器怎么找对应的盘位
宿州网络安全培训
山西百信服务器性能虚拟主机
怎么监控mysql数据库
软件开发大赛作品
监控用服务器价格查询
银屑病医疗保健数据库
创冠智能网络技术有限公司
什么是品牌数据库
我局组织网络安全知识培训
精彩网络技术文章
网络安全法建立
网络技术试用期转生感想
小黑裙系统软件开发
宝塔软件数据库
零基础学服装的软件开发
数据库信息安全控制策略为
浅谈计算机网络技术的应用与发展
软件开发方法概述
数据库运维全部答案
济南森宇网络技术公司
磊哥测评 腾讯云数据库
南岸区工商软件开发服务公司
南京网络安全审计招聘信息
mip站群系统 创建数据库失败
sql2005数据库压缩
mac服务器意外中断
数据库设计某综合门户网站