真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Scratch高級(jí)編程之妙用變量管理母體與克隆體-創(chuàng)新互聯(lián)

一、 克隆簡(jiǎn)介

自從Scratch 2.0中引入克隆技術(shù),程序中許多任務(wù)可以通過克隆技術(shù)更為高效地執(zhí)行,而不再需要?jiǎng)?chuàng)建大量的精靈??寺◇w實(shí)質(zhì)上就是精靈的實(shí)例,這意味著它們繼承了精靈的屬性,但另一方面也是獨(dú)立的對(duì)象??寺◇w通常可能要執(zhí)行與母體精靈稍有不同的任務(wù),但一個(gè)關(guān)鍵的問題是:克隆體和母體精靈都對(duì)幾乎所有事件塊(觸發(fā)器)能夠做出響應(yīng)。這樣一來,專門為母體精靈設(shè)計(jì)的觸發(fā)器在發(fā)出信號(hào)時(shí)也能夠由克隆體運(yùn)行。

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、廣西網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為廣西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

實(shí)際開發(fā)中,當(dāng)需要許多相似的精靈完成相似的任務(wù)時(shí),就應(yīng)該主動(dòng)考慮到使用克隆技術(shù)。因?yàn)榭寺∈怯沙绦蚨皇怯脩魧?shí)現(xiàn)的,所以克隆的運(yùn)用可以讓用戶不需要對(duì)許多精靈中的每個(gè)精靈進(jìn)行相同的更改。因此,克隆技術(shù)可典型地應(yīng)用于開發(fā):

  • 塔臺(tái)防御小游戲(例如在地圖上有大約200個(gè)塔臺(tái))
  • 許多街機(jī)風(fēng)格的游戲
  • 子彈精靈(你想要多少就有多少,需要多少不同的角色就有多少)
  • 復(fù)雜或半復(fù)雜粒子系統(tǒng)
  • 煙火、雪等特效
  • 鼠標(biāo)軌跡
  • 任何需要大量重復(fù)精靈的項(xiàng)目

【高級(jí)應(yīng)用提示】Scratch中的克隆可以使用積木命令【當(dāng)作為克隆體啟動(dòng)時(shí)】遞歸地克隆自身,有興趣的朋友可作這方面更深入的探討。

二、 借助變量管理母體與克隆體

先來看以下簡(jiǎn)單的代碼:
Scratch高級(jí)編程之妙用變量管理母體與克隆體

【結(jié)論一】如果單擊包含上述腳本(第二段)的母體的克隆體,則克隆體本身就會(huì)執(zhí)行第二段代碼。
如果只要求母體而不是它的克隆響應(yīng)上面的代碼,那么我們可以通過使用私有變量的辦法來規(guī)定哪個(gè)對(duì)象(可以是母體,也可以是子克?。┻\(yùn)行哪個(gè)觸發(fā)器。

【結(jié)論二】如果不使用私有變量,則所有克隆體都將共享使用同一變量。

三、使用私有變量

私有變量可以用于存儲(chǔ)單個(gè)母體精靈和各個(gè)克隆體的值,盡管它們具有相同的名稱。例如,三個(gè)克隆體可以有一個(gè)名為“X方向速度”的變量,但是每個(gè)克隆都可以有自己的變量值。
類似地,母體精靈可以將其私有變量設(shè)置為特定字符串,而每個(gè)克隆體都可將其設(shè)置為不同的值。類之間不同變量值的概念允許選擇母體精靈或子克隆體運(yùn)行哪些代碼。


【提示】熟悉面向?qū)ο缶幊痰呐笥褢?yīng)該對(duì)“繼承”概念不陌生吧,父類可以派生出多種子類,而子類可以擁有與父類相似但又不同的各自特征。至此,大家應(yīng)該對(duì)Scratch面向?qū)ο缶幊碳夹g(shù)有更為深刻的理解了吧。


例如,我們想實(shí)現(xiàn)單擊綠色標(biāo)志時(shí),立即刪除所有克隆體,但母體精靈仍存在。下面,還是讓我們通過具體的小例子來說明問題。

例1:克隆體行為與母體精靈不同

要實(shí)現(xiàn)這樣的目的,首先請(qǐng)考慮在母體中編寫下面的代碼:
Scratch高級(jí)編程之妙用變量管理母體與克隆體

易知,保存在變量“instance”中的這一小段數(shù)據(jù)只顯示該母體精靈是一個(gè)“精靈”。注意,要實(shí)現(xiàn)上述目的,“instance”必須是私有變量;否則將無法工作。接下來,必須指定一個(gè)腳本,為所有克隆體分配一個(gè)顯示它們是“克隆體”的變量值。以下腳本可以完成此操作:
Scratch高級(jí)編程之妙用變量管理母體與克隆體

顯然,只有克隆體才能執(zhí)行這段代碼!

上面的腳本不會(huì)更改母體精靈的變量“instance”的值。相反,每個(gè)克隆體都有自己的變量“instance”。
完成上面的兩段編程后,變量“instance”和if語句相結(jié)合,就可以正確地將觸發(fā)器指定為僅為母體精靈或其克隆體運(yùn)行。
再來看下面的代碼:
Scratch高級(jí)編程之妙用變量管理母體與克隆體
上面的腳本只適用于克隆,這是顯而易見的,因?yàn)槟阁w精靈的變量沒有設(shè)置為“clone”,母體精靈不會(huì)執(zhí)行此if塊中的語句。請(qǐng)注意:上面這種使用“變量”的方法也是Scratch項(xiàng)目開發(fā)中調(diào)試克隆引起問題的非常有效的方法。

例2:克隆體行為彼此不同

下面的示例演示如何在單個(gè)母體精靈的腳本中管理多個(gè)克隆體類型。請(qǐng)注意,在生成每個(gè)克隆體(或一組類似克隆體)之前,會(huì)為專用變量“type”分配一個(gè)值。如果母體精靈要忽略廣播,則應(yīng)在生成克隆體后但在接收到廣播消息之前設(shè)置其自身的唯一值“type”。
注:代碼中type是私有變量。

Scratch高級(jí)編程之妙用變量管理母體與克隆體

私有變量“type”的值由每個(gè)克隆體從母體精靈繼承,而母體精靈卻會(huì)忽略接收廣播的消息,因?yàn)樗约旱摹皌ype”值不同。這種技術(shù)允許許多不同的克隆體類型以各自獨(dú)特的方式工作。

小結(jié)

本文并沒有給出復(fù)雜的完全例子,但是僅通過簡(jiǎn)短的小例,足以說明了僅憑借變量的全局性與局部性的巧妙運(yùn)用即可實(shí)現(xiàn)Scratch復(fù)雜開發(fā)中母體與克隆體間差異行為的有效管理。在后面的博文中,我會(huì)進(jìn)一步給出Scratch復(fù)雜開發(fā)中克隆技術(shù)的其他應(yīng)用注意事項(xiàng),并給出更系統(tǒng)完整的案例,敬請(qǐng)期待。


Scratch高級(jí)編程之妙用變量管理母體與克隆體

(https://blog.51cto.com/cloumn/detail/88 本人拙作,歡迎共同討論)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)頁題目:Scratch高級(jí)編程之妙用變量管理母體與克隆體-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/ccecog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部