1

我有一个从 xml 文件动态加载图像的 flash 电影。我想在不同的页面上重新使用这个 .swf 文件,但是 page1 上的图像都是 400 x 200,page2 上的图像都是 745 x 422。当我尝试在另一个页面上重用它时,加载的图像会缩小(调整大小) - 我希望它们与宽度/高度中定义的内容相匹配,但它们会根据舞台的缩放方式进行缩放。

我对将它们放在容器(精灵)上的图像使用加载器(AS3)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

我已经尝试让舞台开始各种尺寸,但如果可能的话,我真的希望它是无关紧要的 - 即:50 x 50。然后在 html 中,宽度/高度将设置为正在加载的图像的宽度/高度。

我不是 Flash 向导,所以如果我不清楚,请原谅我,如果需要,我会尝试提供更多见解。

4

3 回答 3

2

几件事......首先,您需要指定您的应用程序不进行扩展。(AS3 代码)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

然后,一旦您的图像被加载(向 slideLoader 对象添加一个侦听器),使用 flash 的 ExternalInterface 类执行一个 javascript 函数。

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

你的 javascript 函数将是这样的:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}
于 2008-12-23T04:17:33.903 回答
0

很抱歉,我手头没有代码,但我知道您可以选择在启动时在画布上设置不调整大小。

理想情况下,您可以通过嵌入标签的属性传入高度/宽度,在画布上不调整大小并使用传入的尺寸来设置图像尺寸。

于 2008-12-23T03:58:10.900 回答
0

我相信就是这样:

fscommand("allowscale","false");
于 2008-12-23T04:00:07.400 回答