Цитата:
|
А не пробовали изменять размер в контейнере? думаю это и есть выход
|
В каком контейнере? Имелось ввиду в прелоадере?
Цитата:
 Код AS3:
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.MovieClip;
var ldr:Loader = new Loader();
var url:URLRequest = new URLRequest("test1.swf");
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE ,completeListener);
var loadMovieSwf:MovieClip;
ldr.load(url);
function completeListener(e:Event):void
{
loadMovieSwf = e.target.content;
loadMovieSwf.addEventListener(Event.ADDED_TO_STAGE, addEvListener);
addChild(loadMovieSwf);
}
function addEvListener(e:Event):void
{
loadMovieSwf.removeEventListener(Event.ADDED_TO_STAGE, addEvListener);
loadMovieSwf.width = 300;
loadMovieSwf.height = 400;
}
|
Попробовал. Ничего не вышло. Я думаю проще будет скинуть полный код.
Первый кадр:

Код AS3:
import flash.events.*;
import flash.system.Security;
import flash.system.LoaderContext;
import flash.display.Loader;
import flash.net.URLRequest;
var ldr:Loader = new Loader();
var url:String = loaderInfo.parameters.path;
Security.allowDomain("*");
Security.loadPolicyFile("crossdomain.xml");
var ldrContext:LoaderContext = new LoaderContext(true);
if(url==null) { // на это не обращайте внимание. поставил для эксперимента
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,swf_loaded);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, swf_error);
ldr.load(new URLRequest("c:/test1.swf"),ldrContext);
}
function swf_error(e:Event):void {
removeEventListener(Event.COMPLETE,swf_loaded);
}
function swf_loaded(e:Event):void {
nextFrame();
}
stop();
Второй кадр:

Код AS3:
stage.scaleMode = "noBorder";
var delitel = 0;
var movikWidth = ldr.contentLoaderInfo.width;
var movikHeight = ldr.contentLoaderInfo.height;
trace(movikWidth);
trace(movikHeight);
trace("-");
trace(ldr.width);
trace(ldr.height);
if(movikWidth >= movikHeight) {
if(movikWidth/movikHeight >= stage.stageWidth/stage.stageHeight) {
delitel = stage.stageHeight/movikHeight;
ldr.width = movikWidth*delitel;
ldr.height = movikHeight*delitel;
} else {
delitel = stage.stageWidth/movikWidth;
ldr.width = movikWidth*delitel;
ldr.height = movikHeight*delitel;
}
} else {
delitel = movikWidth/stage.stageWidth;
ldr.width = movikWidth/delitel;
ldr.height = movikHeight/delitel;
}
ldr.x = (stage.stageWidth - movikWidth)/2;
ldr.y = (stage.stageHeight - movikHeight)/2;
addChild(ldr);
Осталось всего лишь изменить ширину и высоту загруженного объекта. То есть, заменить
ldr.height и
ldr.width чем то другим. Внизу я выложил flask'ку, которую пытаюсь загрузить в прелоадер и подогнать её размер.