我希望在我的动作脚本项目中播放两个swf文件。在这两个文件中,一个swf文件在系统前面的检测面上工作。其他swf播放flv文件。当检测到面部时,必须先调入播放器不是播放器必须播放flv文件。
我知道如何加载swf文件但我无法处理启动和停止播放器的功能。
代码片段显示我如何加载外部swf文件。我将在评论中解释每行代码
public function videos(view:Sprite)
{
this.box = view;//IT GETS Sprite object from other class because of need to display the player also.
request = new URLRequest("Untitled-1.swf");
currentSWF=new MovieClip();
loader= new Loader();
loader.load(request);
box.addChild(loader);
currentSWF = MovieClip(loader.content);
loader.addEventListener(Event.COMPLETE,loadComplete);
//addChild(loader);
currentSWF.gotoAndPlay(1);//when i put this line of code in comments it plays the external swf also.
}
我希望你明白我的疑问。任何人都可以解释如何处理我的事情。我是这个动作剧本的新手。请帮助我
答案 0 :(得分:0)
加载的文件自动播放,除非你明确告诉他们不要。你必须听取Event.INIT
事件,并在那里停止电影:
loader.AddEventListener(Event.INIT, initLoader);
function initLoader (event:Event)
{
MovieClip(event.currentTarget.content).stop();
}
这会在电影附加到舞台之前以及开始播放之前停止播放 - 所以除非你再次启动它,否则它不会这样做。
请注意,您不应在loader.content
或INIT
事件之前以任何方式访问COMPLETE
,因为很可能内容未加载。因此,您应该将所有操纵操作放入COMPLETE
事件:
box.addChild(loader);
loader.addEventListener(Event.COMPLETE, loadComplete);
function loadComplete (event:Event)
{
// Now it’s safe to access the `content` member:
currentSWF = MovieClip(loader.content);
// Of course this one would play the movie again, so you probably want
// to call that later on a button click or something.
currentSWF.gotoAndPlay(1);
}