簡體   English   中英

ActionScript 3.0在for循環中創建Sprite實例

[英]actionscript 3.0 creating sprite instances in a for loop

以下代碼中的for循環有效(將兩個影片剪輯實例放在舞台上),但是它如何起作用? 它不是創建多個具有相同名稱的實例嗎? 如果我按注釋部分所示將代碼拉出循環,那么我會收到有關名稱空間沖突的1151錯誤消息。

for (var j=0; j<2; j++) {
    var mascot:Mascot = new Mascot();
    mascot.x = 150*j + 100;
    mascot.y = 100;
    addChild(mascot);
}
/*
var mascot:Mascot = new Mascot();
mascot.x = 100;
mascot.y = 300;
addChild(mascot);

var mascot:Mascot = new Mascot();
mascot.x = 250;
mascot.y = 300;
addChild(mascot);
*/

當您不使用循環時遇到的錯誤與實例名稱沒有任何關系。

如果沒有循環,您將嘗試創建兩個具有相同名稱的變量,這是一個編譯錯誤。

將其更改為以下內容,它將起作用。

var mascot:Mascot = new Mascot();
mascot.x = 100;
mascot.y = 300;
addChild(mascot);

mascot = new Mascot();
mascot.x = 250;
mascot.y = 300;
addChild(mascot);

兩個精靈都分配有唯一的實例名稱,因此兩個代碼示例都可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM