flex:调整大小和位置SWFLoader
我有一对SWFLoader的复杂问题。flex:调整大小和位置SWFLoader
我有一个加载了的SWFLoader一个swf的应用程序。加载的swf加载另一个swf(只是一个编译的fla)。我在我加载的swf中添加了所有调整大小和位置逻辑,并且它适用于事件调整大小,但是当我尝试在swfs applicationComplete中运行相同的代码时,它会失败。如果我将swf作为standanlone运行,启动时的相同代码效果很好,但由于某种原因,当我将它加载到我的应用程序中时,缩放比例不同。
我只是设置它的宽度和高度,以浏览器大小,使一切,但规模是一样的!
这是我从我加载的SWF作为一个独立的跟踪: 的SWFLoader:1435 742 FlexLoader:1319.1 742 1.0305555555555554 1.0305555555555554
,这是当它在我的应用程序的加载相同加载的SWF: 的SWFLoader: 1435 742 FlexLoader:1159.55 742 0.9053196681307955 0.9053196681307955
swfLoader是我加载的swf的swfloader加载我编译的fla。这是我需要调整大小并定位到中心。接下来的数字是宽度和高度。 FlexLoader是swfLoaders加载器(或者如果您愿意的话)。数字是宽度,高度,scaleX和scaleY。
正如你所看到的大小是一样的(这也是加载的SWF应用程序相同的),但规模不同。这两个尺度是从1280和高度720计算出来的,这是我编写的fla尺寸。
为什么我乱搞缩放的唯一原因是我无法找到我编译的fla的准确宽度来居中它(application.width - loadedSwf.width/2)所以如果有人知道更好的方式来发现,我将非常感激! :)
我得不到的部分是为什么秤有什么不同?我缺少什么部分? 我完全迷失了,并且一直试图解决这个问题很长一段时间:p
与正常的Flash显示对象一样,您必须根据其内部内容设置项目的大小。如果您将SWF(SWFa)加载到另一个SWFb中,并让SWFb告诉SWFa变得更宽和更高,则Flash不会扩展SWFa的舞台,它会缩放SWFa的舞台,除非您已将SWFa的StageScaleMode调整为StageScaleMode.NO_SCALE时。如果你已经这样做了,你仍然需要在SWFa的舞台上调整大小时重新定位所有项目,以便在舞台增长/缩小时项目保持居中。
问题实际上比这更复杂,但我只是设法让它工作!我编译的fla文件的大小超出了设置的文档大小,导致了一个问题。我没有想到它在那里会有所不同。看起来它的位置正确,尺寸合适,但显然不是。 – Tinelise 2010-08-16 06:08:37
哦,好吧,我明白了,好吧,我很高兴你能做到。 – Aaron 2010-08-16 06:40:20