更新时间:2017/6/28 上午10:32:32
更新说明:
1. 更新了碰撞方法。解决了擦边碰撞不正常的情况。
2. 更新了碰撞回掉函数的调用情况。避免了刚出现小球时如果重叠一直调用的情况。
1.此插件纯原生js编写,使用时引入此collision.js即可。
2.生成容器,假设现有一个id为container的盒子做容器。
1 | var oB= new BallBox(‘container’); |
注:容器必须是有宽高的定位元素。尽量不要有边线。
3.生成小球
1 | var ball= new Ball(); |
4.把小球放入容器
1 | oB.addBall(ball); |
5.调用容器的ballRun方法,让小球开始运动。注意:此运动是完全弹性碰撞,不会损失能量。
1 | oB.ballRun(); |
over
容器参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | new BallBox(‘container’, opts); opts: { width: num, height: num } //没有边线和padding的时候可不写。有的情况下需要把容器真实宽高填进去。 小球参数 new Ball(opts); opts: { e: 小球DOM元素 / 原生对象, 可填入页面DOM, 不写则生成新DIV DOM, b: 小球半径 默认30;包含边 c: 小球背景颜色 / 图片, 默认 'pink' borderWidth: 边线宽度 默认0 borderColor: 边线颜色 默认 #000 x:小球中心点的横坐标 默认为半径 y:小球中心点的纵坐标 默认为半径 sx:小球在x轴方向速度每30ms,默认3 sy:小球在y轴方向速度每30ms,默认3 m:小球的质量,默认b/30; html:小球内部的内容,不填则不会改变DOM本身的内容。 fontSize:字体大小,默认12; opa:小球透明度,默认1; callBack: function 碰撞时的回掉函数,参数为碰撞的总次数,方法中 this 指向此球对象 } */ |
小球方法:
1 2 3 4 5 6 7 | setB(num) //重新设置小球半径 setC(str); //重新设置小球背景颜色/图片 setBorderWidth(n); //重新设置小球边线宽度 setBorderColor(str); //重新设置边线颜色 setM(n); //重设小球质量,如果不给参数,则按照半径重新默认质量 setHTML(str); //重设小球内容 setOpa(n); //重设小球透明度 |
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com