第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

我對彩色小球的優(yōu)化做法:

就和判斷小球是否落地是一樣的做法,在小球超出左右邊界的時候,就將這小球從數(shù)組里移除。

具體代碼:

var b = BALLS[i];

if(b.x > WINDOW_WIDTH ||b.x < 0 ) BALLS.splice(i, 1);

不知道這中方法是否可行?會不會存在什么問題?

正在回答

3 回答

如果最外層還有一個循環(huán)的話,i變量需要小心的控制,不能使用簡單的for( i = 0 ; i < BALLS.length ; i ++ )


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

雨心圣 提問者

具體代碼是這樣的: //循環(huán)更新彩色小球的變化 for(var i = 0;i < BALLS.length;i++){ var b = BALLS[i]; if(b.x > WINDOW_WIDTH ||b.x < 0 ){ BALLS.splice(i, 1); }else if(b.y >= WINDOW_HEIGHT-b.r){ b.y = WINDOW_HEIGHT-b.r; b.vy = -b.vy*0.75; } b.x += b.vx; b.y += b.vy; b.vy +
2014-09-14 回復(fù) 有任何疑惑可以回復(fù)我~

想一想,如果運行了BALLS.splice(i, 1),結(jié)合i++ 會錯過對一個小球的檢查。

1 回復(fù) 有任何疑惑可以回復(fù)我~

具體代碼是這樣的:

//循環(huán)更新彩色小球的變化

for(var i = 0;i < BALLS.length;i++){

    var b = BALLS[i];

    if(b.x > WINDOW_WIDTH ||b.x < 0 ){

        BALLS.splice(i, 1);

    }else if(b.y >= WINDOW_HEIGHT-b.r){

        b.y = WINDOW_HEIGHT-b.r;

        b.vy = -b.vy*0.75;

    }

    b.x += b.vx;

    b.y += b.vy;

    b.vy += b.g;

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
炫麗的倒計時效果Canvas繪圖與動畫基礎(chǔ)
  • 參與學(xué)習(xí)       96869    人
  • 解答問題       1022    個

學(xué)習(xí)HTML5中最激動人心的技術(shù)Canvas,徹底釋放自己的創(chuàng)造力

進入課程
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號