数组长度不断增加,运行越来越慢

来源:4-3 华丽的小球滚动效果

你别再这样

2014-12-31 23:03

function updateBalls(){
	for(var i=0;i<balls.length;i++){
		balls[i].x+=balls[i].vx;
		balls[i].y+=balls[i].vy;
		balls[i].vy+=balls[i].g;
		if(balls[i].y>=WINDOW_HEIGHT-RANIUS){
			balls[i].y=WINDOW_HEIGHT-RANIUS;
			balls[i].vy=-balls[i].vy*0.75;
		}
		if(balls[i].x>WINDOW_WIDTH+RANIUS||balls[i].x<-RANIUS){
			balls.splice(i,1);
		}  // 从balls数组中移除跳出画布的小球
	}
	console.log(balls.length);
}


写回答 关注

1回答

  • l1uyub0b0b0
    2015-01-04 21:09:53

    这样从数组中移除小球是有bug的,仔细想想看:)

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96759 学习 · 1000 问题

查看课程

相似问题