读书人

flash cs3开发的Flash怎么加载外部SWF

发布时间: 2012-04-06 12:22:24 作者: rapoo

flash cs3开发的Flash如何加载外部SWF?
我刚学FLASH。请赐教。【Flash cs3 + ActionScript 3.0】

我用FLASH CS3开发了FLASH,名字叫photo1.fla。 脚本是as3.0。 AS文件(mytest.as)在另外一个文件夹(photo1_fla)里。
----photo1.fla
----photo1.swf
----photo1_fla
+----------mytest.as
----myload.swf

问题背景:
我在主场景里添加了一个影片剪辑,名字叫mc1,
我希望在一打开的时候就在这个mc1里 加载myload.swf。让myload.swf出现在主场景的mc1里。

问题:
我发现在主场景里无法添加AS代码。必须要切换到专门的AS文件里操作。
那个文件是mytest.as,但是我不知道在mytest.as里怎么添加“载入”外部SWF的代码。
请高手教教我。

[解决办法]
package photo1_fla{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Loader;
import flash.net.URLRequest;
public class mytest extends Sprite{
public function mytest(){
var loader:Loader=new Loader();
loader.load(new URLRequest("myload.swf"));
mc1.addChild(loader);
}
}
}
[解决办法]
使用loader就可以实现。

在 ActionScript 3.0 中,SWF 是透 Loader 入。若要入外部 SWF ,ActionScript 需要行四工作:

1.使用案的 URL 建立新的 URLRequest 物件。

2.建立新的 Loader 物件。

3.呼叫 Loader 物件的 load() 方法, URLRequest 做。

4.示物件容器 (例如 Flash 文件的主要) 呼叫 addChild() 方法,以便 Loader 加入示清。

最後,完成的程式看起像:

var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);相同的程式透指定影像案的 URL (而不是 SWF 的 URL),可用入如 JPEG、GIF 或 PNG 影像等外部影像案。SWF 和影像案的不同是它可以包含 ActionScript。因此,然入 SWF 也和入影像的程序相同,但是如果 Flash Player 或 AIR 正在播放 SWF,而且您想要使用 ActionScript 以任何方式外部 SWF 行通,那入外部 SWF ,入端 SWF 被入端 SWF 都必位於相同的安全行程序中。此外,如果外部 SWF 中的和入端 SWF 中的共享相同的命名空,您可能需要被入端 SWF 建立新的用程式域,如此才能避免命名空突。如需有安全性用程式域考量的,使用 ApplicationDomain 入 SWF 和影像。

成功入外部 SWF 後,您就可以透 Loader.content 性存取案。如果此外部 SWF 已 ActionScript 3.0 的格式,根它所充的型,物件可以是一影片片段或 Sprite。

入版 SWF 的考量事
如果外部 SWF 已使用版的 ActionScript ,就必考一些重要的限制事。和行於 AVM2 (ActionScript Virtual Machine 2) 中的 ActionScript 3.0 SWF 不同的是,使用 ActionScript 1.0 或 2.0 的 SWF 是在 AVM1 (ActionScript Virtual Machine 1) 中行。

成功入 AVM1 SWF 後,入的物件 (Loader.content 性) 是 AVM1Movie 物件。AVM1Movie MovieClip 不同。而是示物件,但和影片片段不同的是,它不包括相的方法或性。父 AVM2 SWF 法存取入的 AVM1Movie 物件之性、方法或物件。

在由 AVM2 SWF 入的 AVM1 SWF 上有一些其它的限制。如需料,「ActionScript 3.0 言和件考」中所列的 AVM1Movie 清。

读书人网 >Flash

热点推荐