У меня есть приложение, в котором я пытаюсь загрузить внешний SWF.Итак, у нас есть:
- Мое приложение: Размеры сцены - 768x1280.ScaleMode = EXACT_FIT.
- Внешний SWF: это еще одно приложение, где его этап: 800x600.ScaleMode = EXACT_FIT.
Проблема в том, что внешний SWF-файл не изменяет свой размер, хотя я применяю «scaleX, scaleY», меняю его ширину и так далее.Я также попытался вставить его в контейнер Canvas (как «Как изменить размер внешнего SWF-файла, чтобы он поместился в контейнер?»), Но это не решило мою проблему.Интересный фрагмент кода - это когда внешний SWF загружается моим приложением:
private function onLoadedApp( evt:Event ):void{
stage.scaleMode = StageScaleMode.EXACT_FIT;
trace("Loading Application..");
var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
loaderInfo.removeEventListener( Event.COMPLETE, onLoadedApp);
trace(loaderInfo.loader.content);
var swfApplication:SpriteUIComponent = new SpriteUIComponent(evt.target.loader.content );
if( SWFContainer.width < swfApplication.explicitWidth ){
var coef:Number = SWFContainer.width/swfApplication.explicitWidth;
swfApplication.scaleX = coef;
swfApplication.scaleY = swfApplication.scaleX;
}
SWFContainer.addElement(swfApplication);
}
Я также пытался сделать это через SWFLoader, но содержимое external.swf не меняет свой первоначальный размер, хотя я добавляюпараметр "scaleContent".
Визуальные результаты, которые я получил:
Внешний SWF-файл загружен в подходящем положении, и он "кажется" имеет 320x240 затемнения.Но его ширина немного обрезана, так как, если я растяну Flash Player, мне удастся увидеть оставшуюся часть внешнего SWF-файла.Кроме того, размер внешнего SWF-файла никогда не изменяется, хотя я уменьшаю / растягиваю Flash Player.Он всегда остается фиксированным (если я прослеживаю его размеры, я всегда получаю 800x600, хотя я визуально вижу 320x240) - Если я увеличу ширину сцены основного приложения, этот маленький клип исчезнет.
Обсуждение:
Я знаю, что размеры исходного этапа составляют 800, и это больше, чем исходный этап моего приложения (768), но я думаю, что когда я делаю изменение размера, внешние SWF-файлыЭтап должен быть установлен в контейнере.Он установлен, но часть внешнего SWF не видна.Flash Player вспомнил, что ширина внешней SWF-сцены была больше, чем у моего приложения ...
Заранее спасибо.