最贊回答 / RyanGun
updateBalls()函數(shù)里面補(bǔ)充下面這段: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
我不知道我又沒有正確理解你的問題。因?yàn)槊總€(gè)小球的速度不同,所以出邊界的時(shí)間不一樣,不一定早產(chǎn)生早出局,這也是使用這樣一個(gè)方法的原因。如果將小球的速度范圍隨機(jī)化得更大的化,這個(gè)現(xiàn)象會(huì)更明顯。
2014-09-05
最新回答 / 媽咪媽咪哄
那不就更簡(jiǎn)單了嘛
最贊回答 / l1uyub0b0b0
根據(jù)你的示意圖,第一次運(yùn)行balls[cnt++]=balls[j]的時(shí)候,就是:balls[0] = balls[20],之后cnt++,cnt為1;第二次的時(shí)候?yàn)?balls[1] = balls[21],,之后cnt++,cnt為2;第三次的時(shí)候?yàn)?balls[2] = balls[22],,之后cnt++,cnt為3;...以此類推,最后一次運(yùn)行的時(shí)候,是:balls[179] = balls[199],,之后cnt++,cnt為180;之后j=200 循環(huán)結(jié)束。此時(shí),balls[0]-balls...
2014-09-04