慕的地6791964
2017-03-31 16:57
if( balls[i].x + RADIUS > 0 && balls[i].x -RADIUS < WINDOW_WIDTH )
balls[cnt++] = balls[i]
这个怎么判断?还是不懂老师的意思
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 :小球的圆心位置-半径<画布的宽
就是指小球的圆心位置在画布外面
炫丽的倒计时效果Canvas绘图与动画基础
96746 学习 · 1000 问题
相似问题