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

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

為什么把a(bǔ)liveUpdate里更新的內(nèi)容在update內(nèi)效果就不好呢?

如果把代碼修改為這樣

starObj.prototype.update?=?function()?{	//?body...	this.timer?+=?deltaTime;	this.x?+=?this.xSpd*deltaTime*0.002;	this.y?+=?this.ySpd*deltaTime*0.002;	//判斷是否出了canvas邊界,如果出了邊界就重置	if(this.x?<?100?||?this.x?>?700?||?this.y?<?150?||?this.y?>?450){		this.init();		return;	}	if(this.timer?>?100){		this.picNo?+=?1;		this.picNo?=?this.picNo%7;		this.timer?=?0;	}	if(switchy){		life?+=?0.03*deltaTime*0.05;		if(life>1){			life?=?1;		}	}else{		life?-=?0.03*deltaTime*0.05;		if?(life<0)?{			life?=?0;		}	}};function?aliveUpdte(){}


效果會差很多,想知道為什么

正在回答

1 回答

就我個人學(xué)完這個課程之后的收獲來解答這個問題,之所以效果會變得很差,首先的一個原因是由于將做整體aliveUpdate的內(nèi)容放入到具體每一個obj后執(zhí)行的次數(shù)會大大增加,從原來的每一次動畫判斷一次life到現(xiàn)在的每一次動畫都要在每一個星星中判斷l(xiāng)ife,進(jìn)而導(dǎo)致效率變慢,執(zhí)行一次所需的時間大大增長。再而我們運用resquestAnimationFrame函數(shù),其中的deltatime由于運行時間大大增長導(dǎo)致其值較大, 0.03×deltatime×0.05的值直接就大于1。因此到最后的效果不是差,只不過漸變效果優(yōu)于時間間隔太長已經(jīng)變成很僵硬的跳轉(zhuǎn)而已。同學(xué)這這個想法的初衷應(yīng)該是想讓代碼更簡潔,只不過在實際運用過程中,代碼的運行效率應(yīng)該更多地被考慮

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

舉報

0/150
提交
取消

為什么把a(bǔ)liveUpdate里更新的內(nèi)容在update內(nèi)效果就不好呢?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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