在學(xué)習(xí)Scratch的過程中我們已經(jīng)多次使用“克隆”這個積木,知道每次執(zhí)行“克隆自己”時,綠旗下的代碼歸本體所有,“當(dāng)克隆體啟動時”下面的代碼由克隆體執(zhí)行,其他事件比如按方向鍵后的代碼就歸本體和克隆體共有,對兩者都有效。
其實(shí)克隆體數(shù)量是有上限的,軟件的設(shè)計(jì)者限制克隆體數(shù)量上限是為了避免大量克隆體快速耗盡系統(tǒng)資源造成死機(jī)。
下面我們通過編寫一小段代碼來研究Scratch 3.9版克隆體最大數(shù)量是多少。
設(shè)置一個新變量“克隆體數(shù)量”用來記錄克隆體最大數(shù)量。
首先研究1只小貓的克隆數(shù)量。小貓每移動1步就克隆自己一次??寺◇w啟動后變色作為克隆體的標(biāo)記,“克隆體數(shù)量”增加1。
運(yùn)行后顯示“克隆體數(shù)量”為302個。也就是說克隆體數(shù)量最大為302個。
接下來我們還要進(jìn)一步測試當(dāng)本體不是一個而是兩個或三個時,克隆體的數(shù)量是總數(shù)不變還是翻倍增加,如果總數(shù)不變,數(shù)量又是如何分配的呢?
復(fù)制一只小貓2號,用變量“數(shù)量1”和“數(shù)量2”分別記錄各自克隆體數(shù)量。
運(yùn)行結(jié)果變?yōu)榱丝倲?shù)303個,且1號比2號少一個。
用3個本體測試時總數(shù)也是303個,由3個克隆體平分。
說明在Scratch中克隆體總數(shù)的上限是300左右(因不明原因在不同時間和不同電腦上同樣程序最大數(shù)量有1到2個的差距),且由所有克隆體平分,如果不能平分時第一個的數(shù)量最少。300個的數(shù)量基本上是夠用了,但如果你需要顯示的克隆角色超過300個時,可以用畫筆的圖章來完成效果。