作者的個人站點: http://jim.blueidea.com/
相信大家都用過attachMovie這個語句,可以方便的綁定庫中帶Linkage輸出的元素, 在一些游戲以及交互程度比較高的網(wǎng)站中經(jīng)常會用到。 那么這里就遇到一個問題,假如我在sub.fla庫里面用linkage設(shè)定了幾個元素, 然后想在main.fla里面attachMovie這幾個元素,該如何處理尼?
第一種方法,main.fla使用 loadMovie(); 或 loadMovieNum();先導(dǎo)入 sub.swf, 然后導(dǎo)入完成后,再使用attachMovie來綁定元素。 但是這種方法,使用受到一個很大的限制,就是只能在 loadMovieNum()語句導(dǎo)入所在的層,或者loadMovie()語句導(dǎo)入所在的mc上面使用attachMovie, 比如:
loadMovieNum("sub.swf",1); _level1.attachMovie("cc","cc1",5);
是有效的
loadMovieNum("sub.swf",1); _level0.attachMovie("cc","cc1",5);
是無效的
同樣:
loadMovie("sub.swf", "abc"); _root.abc.attachMovie("cc", "cc2", 50);
是有效的
loadMovie("sub.swf", "abc"); _root.attachMovie("cc", "cc2", 50);
是無效的
第二種方法,使用Export for runtime sharing的方式,方法如下:
在sub.fla中,設(shè)置好需要attach元素的 Linkage值,并選定 Export for ActionScript 以及 Export in first frame這兩項 然后,在sub.fla中新建一個空的mc, 在庫中設(shè)置這個空mc的linkage值為 ext ,選定 Export in first frame 以及 export for runtime sharing, URL這一項則填寫為 sub.swf 如圖:
在main.fla中,新建一個空的mc,在庫中設(shè)置這個空mc的linkage值為 ext ,然后選定 Import for runtime sharing , URL一項填為 sub.swf 如圖:
然后在main.fla中,再新建一個mc,從庫中把剛才的ext這個空mc拖放到新建的這個mc中,然后把這個新mc任意設(shè)置一個linkage值,然后選定Export for ActionScript 以及 Export in first frame這兩項。 做好以上的兩步,就可以在main.fla里面任意attach sub.fla里面的可用元素了,比如:
attachMovie("cc","cc", 1); attachMovie("bar","bar", 2);
第三種方法, 采用上面的第二種方法雖然已經(jīng)很理想了,不過還是有一個限制,那就是必須編輯 sub.fla,加入 ext這個空mc, 那么有沒有方法繞過去,可以不需要改動sub.fla,直接在main.fla里面做文章尼? 下面就介紹第三種實用方法:
假定我們現(xiàn)有一個tt.swf這個文件,里面庫中設(shè)置了 linkage 為 a,b,c 的三個可用元素, 那么用下面的方法,可以不修改tt.fla,直接attach tt.swf里的這三個元素
我們打開主控文件mm.fla, 新建一個空mc,然后在庫中設(shè)置linkage值為 a (或者b或者c,只要保持和tt.swf里面的某個linage值同名即可) ,然后選定 Import for runtime sharing , URL一項填為 tt.swf,如圖:
然后在mm.fla中,再新建一個mc,從庫中把剛才的a這個空mc拖放到新建的這個mc中,然后把這個新mc任意設(shè)置一個linkage值,然后選定Export for ActionScript 以及 Export in first frame這兩項。 然后就可以在mm.fla里面任意attach tt.fla里面的可用元素了,比如:
_root.attachMovie("c", "c", 1); _root.attachMovie("a", "a", 11); _root.attachMovie("b", "b", 111);
本教程第二以及第三種方法,提供源文件下載,有興趣可以到 下載(注源文件為flash8格式)
出處:藍色理想
責(zé)任編輯:moby
◎進入論壇Flash專欄版塊參加討論
|