2012-03-17 76 views
0

準備好了嗎?那就是:從外部裝載的swf獲取裝載機的孩子

var TheLoader:Object = parentObj.TheExit as Object; 

此行讓我對我加載的SWF,現在我可以改變α,將其移動等..

但怎樣怎樣怎樣...做我得到一個的孩子和控制得到相同的控制?

示例代碼:

TheLoader.TheChild.alpha = .3; // Does not work! 

5在這個問題上天的時間太長了!這裏是第三篇文章,內容相同但內容更詳細。 as3 externally loaded swf from network to control externally loaded swf from network

我只是縮短了這一點,以關注我需要的一條線!

謝謝!

回答

1

如果你看看documentation for Loader,你會發現它有一個content屬性。這是你如何訪問你加載的內容。因此,舉例來說,如果TheLoader是一個Loader,如果TheChild是加載的SWF的時間軸上的一個實例,你可以這樣做:

var child : Sprite = MovieClip(TheLoader.content).TheChild; 

這個孩子,直到內容已實際加載是不可用的,所以可以肯定的訪問內容之前,聽取了對裝載機的contentLoaderInfo COMPLETE事件:

TheLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); 

function onLoaded(event : Event):void 
{ 
    trace(MovieClip(loader.content).theChild); 
} 

另外請注意,你可能會遇到的安全問題,如果裝載機和被加載者的SWF不在同一個域。在這種情況下,您必須在SWF中調用Security.allowDomain以允許跨腳本。

+0

太棒了。天啊。我會嘗試。我希望這可以工作。我會盡快告訴你。謝謝 – 2012-03-17 06:03:57

+0

BAM!就是這樣!那一行5天。令人驚歎的感謝兄弟。我希望這個答案可以幫助他人節省我在這方面花費的時間。 – 2012-03-17 06:48:14

+0

完整的問題和代碼是這裏:http://stackoverflow.com/questions/9715798/as3-externally-loaded-swf-from-network-to-control-externally-loaded-swf-from-net/9747976#9747976 – 2012-03-17 06:53:58