Pengweb
2015-07-27 23:57
为什么用balls,shift()不可以呢,显示的效果就会差很多呢?最开始不是push()进去的吗,这个已经是插入最后了,用pop()岂不是把刚插入的又删掉了吗
由于x轴方向上的速度不一致,所以不一定在前面的一定先出去,所以用shift是不可取的,其次,老师之所以用pop是因为已经确定了显示区域内的小球一定是count个
if (balls[i].x+RADIUS>0 && balls[i].x-RADIUS<WINDOW_WIDTH) {
balls[cnt++]=balls[i];
}
研究下这句话,老师把区域内的小球又重新放到了balls的前CNT个,相当于覆盖,所以屏幕外的就是
while (balls.length>cnt) {
balls.pop();
} balls[cnt]这个下标之后的,依次删掉
炫丽的倒计时效果Canvas绘图与动画基础
96752 学习 · 1000 问题
相似问题