我真的好奇。我製作了一個MovieClip類Apple,我編寫了一個函數,用名稱「apple」創建一個新實例。每次將新實例推入Array「Apple」時。我調用函數5次,我得到5個蘋果。我可以通過調用它們來處理它們,例如蘋果[0]。當我追蹤我的數組時,我會看到5 [對象Apple]的東西。所以也許我不太瞭解AS3對象的結構,但是不應該每個對象都有一個名字嗎?AS3類實例名稱
當我設置apple.name並用5個不同的名稱獲得的陣列,我無法通過像apple1.x = 10名稱操縱對象。 計算機如何知道哪個蘋果在哪裏,如果每個都有自己的座標?是唯一稱呼他們的方式:蘋果[0] - 蘋果[4]?如果我爲所有蘋果創建一個應該相同的代碼,那麼我應該如何解決該功能,以「this」?原因當我寫班代碼我還沒有任何名字......
例如,如果我想讓蘋果類可以拖動圖片(MovieClip),創建任意數量的蘋果,最多一百萬,我不可能將蘋果[0] .addEventListener,蘋果[1] .addEventListener ...蘋果[1000000] .addEventListener添加到代碼中。 如何使其成爲全球?
我問的原因,當我直接編碼一個特定的實例,它有一個名稱,我確切地知道我在處理什麼。和一個班級一起工作,製作很多東西我有點不...對不起,我很綠色
我覺得這是一個很好的例子,讓OP滾動。所有DisplayObject實例的「名稱」屬性@SherWood與編譯前腳本中的變量名稱不同。在您的示例中,將對象存儲在數組中,AS3知道對象的位置並通過數組維護對它們的引用。說數組在地址0,每個對象是20字節,對象1在0,對象2然後在地址20,對象3在地址40(通常這種事情與C討論,但理論仍然適用於AS3) 。這裏顯示了獲取變種的方法。 – shaunhusain 2013-02-19 13:56:41
還有一點要注意的是,如果你在類中編寫了一個方法(比如說你在Apple類中編寫了一個方法),那麼「this」意味着當前的實例,所以不會在實例的「外部」編寫一堆代碼在它們上面,你可以將該代碼封裝到類定義中的方法中。 – shaunhusain 2013-02-19 13:58:07
非常好,簡單,謝謝一堆!我會盡力告訴你它是否有效。此外,這是一種從羣中獲得特定蘋果的方法嗎?如果我想單擊其中的一個,而不是可見的應用marryMe函數,並更改ringPutOn = true,並將顏色更改爲粉紅色,並停止執行其他蘋果所做的操作,這將會很特別,是不是很好? (什麼是perv XD)它不會改變整個班級?或者你更願意建立一個新的班級,代表一個妻子 - 蘋果,並改變點擊一個新的班級? – SherWood 2013-02-19 20:01:18