2011-06-10 52 views
3

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

尝试加载了一个SWF文件,该文件具有基于坐标的侦听器,并且似乎加载的SWF不会正确地重新定位侦听器,即使舞台已经调整大小...以swf为例http://www.mofunzone.com/online_games/the_simple_game.shtml,我尝试使用SWFLoader在flex中可以缩放内容,同时也是一个正常的AS3 flash.display.Loader,它似乎都无法正确地重新定位侦听器。任何意见?

回答

0

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

+0

我想你已经错过了问题的关键部分,一个** **装载机正在使用在另一个SWF中显示SWF,并且内部SWF需要垂直和水平100%。 – Marty 2011-06-10 07:17:19

+0

是的,这是关于在一个名为Loader的SWF元素中加载的SWF,它可以在HTML文件或其他内容中使用,我需要Loader的主要原因是能够在将任何swf嵌入到HTML页面 – 2011-06-10 07:26:38

+0

似乎也可能是加载的SWF的问题,因为可以以不同的方式添加监听器,问题是如果它是基于坐标的,那么我猜SWF必须足够灵活以在容器更改时调整其位置大小 但是只有一个问题,加载器中加载的SWF是否意识到舞台改变其大小?嗯,似乎是如此,但我只是希望我能以某种方式设置加载器的宽度和高度,然后加载SWF文件,就像在嵌入swf文件的HTML文件中一样。 – 2011-06-10 07:28:39

0

没有一种方法可以在加载完成时专门设置加载器来调整加载的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; 
}