2014-03-04 66 views
0

我創建了TileList的實例,並且還需要更改出現在影片剪輯內的文本字段的Alpha。如何訪問TileList內的動畫片段,以便更新文本阿爾法?訪問AS3中的TileList組件中的動畫片段

var backgroundList:TileList = new TileList(); 
// Add four images to the TileList instance 
backgroundList.addItem({source:"bg1_mc"}); 
backgroundList.addItem({source:"bg2_mc"}); 
backgroundList.addItem({source:"bg3_mc"}); 
backgroundList.addItem({source:"bg4_mc"}); 
backgroundList.addItem({source:"bg5_mc"}); 
backgroundList.addItem({source:"bg6_mc"}); 
backgroundList.addItem({source:"bg7_mc"}); 
backgroundList.addItem({source:"bg8_mc"}); 
backgroundList.addItem({source:"bg9_mc"}); 
backgroundList.addItem({source:"bg10_mc"}); 

// Set scroll bar direction 
backgroundList.direction = ScrollBarDirection.HORIZONTAL; 
preview_mc.addChild(backgroundList); 

這不起作用:

preview_mc.backgroundList.bg1_mc.text_txt.alpha = 0; 

這不起作用:

preview_mc.backgroundList[1].text_txt.alpha = 0; 

這不起作用:

var foo=backgroundList.getItemAt(1).source; 
foo.text_txt.alpha = 0; 

我真的很茫然。我一直在4個小時內到處尋找解決方案,並且TileList組件記錄不完整。

回答

0

不幸的是,似乎沒有辦法訪問TileList的內容。

當你使用getItemAt時你正在訪問的是你使用addItem添加的Object

所以,當你調用backgroundList.getItemAt(1).source所有你得到背面是String「bg2_mc」這只是你的庫元件的鏈接標識,已添加到顯示列表中該符號的實例。

不僅是那裏的API中沒有辦法做到這一點,甚至穿越TileList的整個顯示列表中沒有拿出任何答案:

[object ScrollBar] 
    [object BaseButton] 
    [object LabelButton] 
     [object TextField] 
    [object BaseButton] 
    [object BaseButton] 
[object ScrollBar] 
    [object BaseButton] 
    [object LabelButton] 
     [object TextField] 
    [object BaseButton] 
    [object BaseButton] 
[object Sprite] 
    [object Sprite] 

雖然目前沒有出現任何追蹤添加的動畫片段。

這表明我們的TileList是由ScrollBar和一個Sprite 2個實例,並且該Sprite有一個孩子Sprite其中有沒有進一步的孩子。

+0

那麼,這是很有趣的知道。謝天謝地,這對我的項目並不重要。我曾計劃將tileList用作預覽窗口,並允許用戶使用更新的文本更新不同屏幕截圖的tilelist中的小縮略圖。 – Livi17

相關問題