让我稍微解释一下我的问题。
我正在创建一个Flash网站,我正在使用一个小的外部预加载器swf来加载主SWF。我已经能够让我的预加载器swf占用整个浏览器窗口但是只要它在主swf中加载它只显示它内置的正常尺寸。
我在主Flash应用程序中有一个调整大小监听器,一旦我改变浏览器的大小,主swf就会占用整个浏览器。但是我怎么能以这种方式开始呢?
- 我尝试过使用一个ENTER_FRAME处理程序,但这打破了我的一些动画。 - 我已经尝试在预加载器中设置我的加载器对象的宽度和高度,这似乎也不起作用。 - 我也尝试将ADDED_TO_STAGE监听器添加到加载器,但这似乎没有改变任何东西。 - 我也尝试将预加载器放在一个场景中,主应用程序放在另一个场景中,这样我只加载一个swf,但这似乎不起作用,我不喜欢这种预加载方法。
我无法在任何地方找到解决方案。有什么容易让我失踪吗?让我知道你们都在想什么。预加载器代码如下:
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
var request:URLRequest = new URLRequest("flashNew.swf");
var loader:Loader = new Loader();
loader.load(request);
this.addChild(loader);
function loadProgress(event:ProgressEvent):void
{
var percentLoaded:Number = event.bytesLoaded / event.bytesTotal;
var percentLoadedBar:Number = Math.round((event.bytesLoaded / event.bytesTotal) * 100);
percentLoaded = Math.round(percentLoaded * 100);
this.percentLoaded.text = String(uint(percentLoaded)) + "%";
progressBar.width = percentLoadedBar * 3.36;
}
function loadComplete(event:Event):void
{
//loader.content.height = stage.stageHeight;
//loader.content.width = stage.stageWidth;
}
function setDimensions(event:Event):void
{
loader.width = stage.stageWidth;
loader.height = stage.stageHeight;
}
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.contentLoaderInfo.addEventListener(Event.ADDED_TO_STAGE, setDimensions);
有没有办法可以通过javascript或其他方式进行更改?我在这里不知所措,我被困在这几个小时。任何帮助,将不胜感激。谢谢!
更新 这是我调整大小函数的代码。
function resizeListener(e:Event):void
{
background_mc.width = stage.stageWidth;
background_mc.height = stage.stageHeight;
//The rest of the function is omitted. It is if's and else-if's that just reposition various elements.
//That's really all this function does is re-position elements with the exception of the above code which resizes the background.
}
这是事件监听器调用。
stage.addEventListener(Event.RESIZE, resizeListener);
答案 0 :(得分:0)
试试这个:
删除了这行代码:this.addChild(loader);
然后将您的loadComplete
功能调整为:
function loadComplete(event:Event):void
{
addChild(loader.content);
loader.content.height = stage.stageHeight;
loader.content.width = stage.stageWidth;
}