2016-04-26 61 views
1

我創造了一個從無到有的飄落的雪花背景和整個下面的代碼絆倒:克隆Spratch sprite中的變量 - 全球還是本地?

enter image description here

我接着往下看吧克隆精靈維基,並在這句話很困惑:

變量所有每個克隆的精靈都是一樣的,但這個精靈的變量只對每個克隆有所不同。

問:

在我點擊塊當我創建自己的克隆。兩個克隆與點擊時塊共享可變Y位置但他們似乎被獨立地(因而糟糕術語)作用類型「這」,即僅用於克隆對象實例化一個單獨的變量的變量。我不能用勾號顯示它,所以我認爲它是克隆本地的?

還是Y位置全局(類變量)?我猜測後者,但上面的句子沒有幫助。

+0

臨時的y軸從-180到180,而不是-360到360 btw。 – Scimonster

+0

這是放慢動畫 –

+0

我自己發現了這個,但是動畫停下來而不是屏幕底部 - 嘗試一下! –

回答

1

爲了這個正常工作,該變量ypos必須是本地(本雪碧只),否則兩人便互相干擾。

+0

這就是我通過使用'say語句'發現的,我認爲它是本地的。我發現了影響者克隆和非影響者克隆。猜測在其他人的代碼中評論的原因在Scratch中非常重要,否則你會撓頭。 –

0

變量無障礙將取決於你如何創建它變化。當您在變量菜單中創建變量時(例如,您選擇名稱的位置),它會詢問您是否要通過「全部精靈」或「僅此一個」來訪問該變量。如果你選擇「全部精靈」,變量將被創建爲全局變量,並且可以被所有精靈訪問(並且可以改變)。如果您選擇「僅此一個」,則應該創建一個局部變量,並且只能由每個sprite單獨訪問。


希望我幫了忙。 -GreenHawk1220

1

在劃痕的局部變量也是每個克隆一個單獨的實例。全局變量只存在一次,並且對於所有對象都是相同的。 Scratch沒有類變量,可以在同一個對象的克隆中共享。