博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小球碰壁与互撞
阅读量:5102 次
发布时间:2019-06-13

本文共 813 字,大约阅读时间需要 2 分钟。

1.用一个数组存储小球

2.生成小球并文档流插入和存入数组。生成的小球信息包括小球坐标、移动速度、移动方向、背景颜色、编号。

3.小球移动。根据小球小球移动方向,小球坐标加或减速度。同时,判断是否碰壁,如果碰壁,改变小球移动方向。

4.碰撞检测。判断小球是否与另一个小球相撞。如果相撞,判断2个小球的位置改变小球的移动方向。

5.绑定事件。每点击一次按钮,增加一个小球,并让小球移动。

部分代码:

创造小球:

var ball=document.createElement("p");

//小球坐标
ball.x=DOMhelp.randomNum(0,660);
ball.y=DOMhelp.randomNum(0,460);
//小球移动速度
ball.speed=DOMhelp.randomNum(2,5);
//小球移动方向
if(Math.random()-0.5>0){
ball.xflag=true;
}
else{
ball.xflag=false;
}
if(Math.random()-0.5>0){
ball.yflag=true;
}
else{
ball.yflag=false;
}
//小球的背景颜色
ball.style.backgroundColor=DOMhelp.randomColor();
//小球编号
ball.innerHTML=(++i);
//将小球插入到wrap中
wrap.appendChild(ball);
//将小球存储到数组中
balls.push(ball);

判断是否相撞:

Math.pow(x1-x2,2)+Math.pow(y1-y2,2)<=Math.pow((ballObj.offsetWidth+balls[i].offsetWidth)/2,2)

转载于:https://www.cnblogs.com/cdx0/p/balls.html

你可能感兴趣的文章
PhotoZoom放大图片,真的能无损吗?
查看>>
转载分享移动网站最佳实践
查看>>
spark--环境搭建--4.ZooKeeper345集群搭建
查看>>
Codeforces Round #426 (Div. 2) C. The Meaningless Game
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
leetcode - Next Permutation
查看>>
C#创建Windows服务程序
查看>>
Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>