最贊回答 / RyanGun
updateBalls()函數(shù)里面補充下面這段:var cnt = 0;? for(var i=0; i<balls.length; i++){? ? if(balls[i].x+RADIUS>0 && balls[i].x-RADIUS<WINDOW_WIDTH){? ? ? balls[cnt++] = balls[i];? ? }? }? while(balls.length>Math.min(300,cnt)){? ? balls.pop();? }
2014-09-10
已采納回答 / l1uyub0b0b0
我不知道我又沒有正確理解你的問題。因為每個小球的速度不同,所以出邊界的時間不一樣,不一定早產(chǎn)生早出局,這也是使用這樣一個方法的原因。如果將小球的速度范圍隨機化得更大的化,這個現(xiàn)象會更明顯。
2014-09-05
最贊回答 / l1uyub0b0b0
根據(jù)你的示意圖,第一次運行balls[cnt++]=balls[j]的時候,就是:balls[0] = balls[20],之后cnt++,cnt為1;第二次的時候為 balls[1] = balls[21],,之后cnt++,cnt為2;第三次的時候為 balls[2] = balls[22],,之后cnt++,cnt為3;...以此類推,最后一次運行的時候,是:balls[179] = balls[199],,之后cnt++,cnt為180;之后j=200 循環(huán)結(jié)束。此時,balls[0]-balls...
2014-09-04