Эффект масштаба
я есть приложение, в котором я пытаюсь загрузить внешний 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-сцены была больше, чем у моего приложения ...
Заранее спасибо.