自动调整Loader和加载的SWF大小

时间:2011-06-10 05:24:51

标签: flash actionscript-3

有没有办法将加载的SWF的高度和宽度设置为始终使用100%的Loader的高度和宽度?非常类似于将swf嵌入到HTML页面中...我知道你可以通过在每个舞台调整大小时设置Loader的宽度和高度来实现这一点,但是有另一种方法可以指定高度和宽度是100%,然后加载SWF将根据阶段和Loader的当前尺寸自动调整大小?

尝试加载一个SWF文件,该文件具有基于坐标的侦听器,即使舞台已经调整大小,加载的SWF似乎也没有正确地重新定位其侦听器...以此swf为例http://www.mofunzone.com/online_games/the_simple_game.shtml,我尝试过在flex中使用SWFLoader扩展内容以及正常的AS3 flash.display.Loader,似乎两者都无法正确地重新定位侦听器。有什么意见吗?

2 个答案:

答案 0 :(得分:0)

因为您无需自动调整大小,您可以设置width=100%height=100%。例如,查看here

答案 1 :(得分:0)

没有办法专门设置Loader在加载完成后加载swf的大小。

如果你总是希望加载的swf是舞台宽度和高度的100%,那么你需要做一个舞台调整大小的侦听器并在事件处理程序中调整它的大小。如果您希望它以100%初始化,您可以在加载的swf 中执行以下操作:

import flash.events.Event

addEventListener (Event.ADDED_TO_STAGE, onAddedToStage);

function onAddedToStage (e:Event):void{
    removeEventListener (Event.ADDED_TO_STAGE, onAddedToStage)
    this.width = stage.stageWidth;
    this.height = stage.stageHeight;
}