2012-03-18 47 views
1

我有兩個瑞士法郎。一種「表演」,一種「菜單」,充當「表演」的裝載者。 「秀」瑞士法郎可以運行在自己的方面,或通過「菜單」加載。如何確定swf是獨立播放還是以其他swf加載?

有沒有一種方法可以確定「show」是單獨運行還是加載到「菜單」中?

一個解決方案是讓「菜單」Loader對象在加載的「show」上設置一個變量,如myLoader.content.thisIsFromMenu = true;,然後檢查「show」,如果這樣的變量存在且爲真。但是我想知道,如果還有其他通用的方法,那麼「show」就不需要知道有關「菜單」的任何信息來確定,如果將它加載到swf中或自行播放?

回答

3
if (root.parent && root.parent == stage) { 
    // Standalone 
} 
+0

確實如此。檢查'parent'而不是'root.parent'肯定有效,但可能並不總是正確的。因此你的回答是正確的。 – kontur 2012-11-02 08:10:02

2

在加載的SWF文件的構造函數:

if (stage && parent == stage) {/*I'm standalone*/}

也許if (parent is Loader)也將工作(反之亦然邏輯)

+0

感謝您的回答,我會嘗試第二在項目中的方法。 – kontur 2012-03-18 15:43:07

+1

你必須檢查root.parent,不只是父母。 – 2012-11-01 21:02:12

1
if (root.name == "root1") //standalone 
+0

具體如何使用?我會爲myloader.content分配一個名稱並在加載的「show」中檢查該名稱嗎? – kontur 2012-03-18 15:45:23

+0

姓名自動分配 – 2012-03-18 19:19:04

+0

哦,所以我只是試過,我不知道這一點。 Flash確實將名稱「root1」分配給當前正在運行的電影。很高興知道,當然也是一個有效的選擇。 +1 – kontur 2012-03-18 20:14:09