我购买了一款定制的无铬youtube视频播放器。最初的用途是嵌入到HTML页面中......但是根据我的需要,它必须作为外部swf加载到另一个容器swf中。
问题是在这个播放器的代码中多次引用“stage”。
例如,要进入全屏模式,请使用:
function fsClick(e:MouseEvent) {
if(controls.fsBtn.currentFrame == 10) {
stage.displayState = StageDisplayState.FULL_SCREEN;
controls.fsBtn.gotoAndStop("backToNormalOver");
}
else {
stage.displayState = StageDisplayState.NORMAL;
controls.fsBtn.gotoAndStop("goFsOver");
}
}
另一个例子:
//stage resize event
stage.addEventListener(Event.RESIZE, onStageResize);
function onStageResize(e:Event):void{
stage_width = stage.stageWidth;
stage_height = stage.stageHeight;
player.setSize(stage_width,stage_height);
controls.x = (stage_width - controls.width)/2;
controls.y = stage_height - 40;
stageOver(null);
if (stage.displayState == StageDisplayState.NORMAL) {
controls.fsBtn.gotoAndStop("goFs");
}
topBar.titleBar.width = stage_width;
topBar.theTime.x = stage_width - topBar.theTime.width -10;
topBar.theTitle.width = stage_width - 180;
}
现在,你已经猜到的问题是,“阶段”在这种情况下不再具有相关性,因为它指的是容器的阶段,而不是这个swf的阶段。
我尝试制作一个与舞台尺寸相同的movie_clip,并将其命名为“stage_mc”并将所有引用从“stage”切换为“stage_mc”......这种作品,但显然不适用于:
stage.displayState = StageDisplayState.FULL_SCREEN;
这有什么办法吗?有没有办法识别外部动画片段中的舞台?
答案 0 :(得分:0)
不,只有一个阶段。在您的情况下,它将代表父SWF的阶段。
但为了解决您的全屏问题,您仍然可以将舞台设置为全屏模式,然后缩放stage_mc
以填充父SWF。