课程
/前端开发
/Html5
/炫丽的倒计时效果Canvas绘图与动画基础
if( balls[i].x + RADIUS > 0 && balls[i].x -RADIUS < WINDOW_WIDTH )
balls[cnt++] = balls[i]
这个怎么判断?还是不懂老师的意思
2017-03-31
源自:炫丽的倒计时效果Canvas绘图与动画基础 5-1
正在回答
0<x<X轴长度,在这个范围内,小球就能看得到
balls[i].x是彩色小圆圆心的x坐标,balls[i].x+RADIUS(圆半径)是彩色圆最右边那个点x的坐标,如果圆在画布左边出界,那圆最右边的点的x坐标应该小于画布最左边的边缘,不出界就大于;右边同理
首先你要先了解网页的坐标系统,横向页面有一个宽度。小球不能超过左右边界,所以需要获取小球圆心位置,通过这个位置加上小球自身半径来判断出界问题
balls[i].x + RADIUS > 0 :小球左侧未出画布;
balls[i].x -RADIUS < WINDOW_WIDTH :小球右侧未出画布
balls[i].x + RADIUS > 0 :小球的圆心位置加半径>0
就是指小球还在画布内但是边缘超出了画布的边(擦边)
balls[i].x -RADIUS < WINDOW_WIDTH :小球的圆心位置-半径<画布的宽
就是指小球的圆心位置在画布外面
Kuopa
举报
学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力
4 回答直接用splice()去掉出界的小球
2 回答小球最后滚动出界面而不是弹跳出
1 回答小球重叠问题
2 回答小球弹起问题
3 回答小球累加问题