Масштабирование для приложения Flex 4 - Flash - PullRequest
0 голосов
/ 08 ноября 2011

ТАК У меня есть флэш-приложение, которое динамически изменяет высоту и ширину самого себя и компонентов в зависимости от высоты и ширины сцены.

это приложение будет запускаться в одиночку на экране, высота и ширина экрана могут быть любыми (тестирование, приложение работает отлично и настраивает свои компоненты и все необходимые объекты в нем на экране)

при предоставлении приложению своих flashvars и текстовой информации из окна ... которое подключено к окну предварительного просмотра, имеющему фиксированную ширину и высоту, в котором просматривается приложение, но оно подстраивается под ширину и высоту этого фиксированного окна .

У меня есть ширина и высота, с которыми приложение будет фактически отображаться на экране.

как я могу масштабировать приложение (Scale, чтобы уместить в окне предварительного просмотра), если оно пустое вверху и внизу или слева и справа в зависимости от реальной ширины и высоты.

1 Ответ

0 голосов
/ 09 ноября 2011

Вам нужно будет использовать stage.stageWidth / stage.stageHeight, чтобы получить размер встраивания. И используйте событие Event.RESIZE для обработки, когда размер этапа изменяется во время выполнения. Тогда вам просто нужна довольно простая логика масштабирования, чтобы сохранить соотношение сторон.

что-то вроде:

// disables streching
stage.scaleMode = StageScaleMode.NO_SCALE;

// listen to stage being resizes
addEventListener(Event.RESIZED, handleResized);

// adjust UI to original size
setSize(stage.stageWidth, stage.stageHeight);

// handle the resized event, and update your UI's dimension
function handleResized(evt:Event):void
{
    setSize(stage.stageWidth, stage.stageHeight);
}

// updates your UI
function setSize(wid:int, hgt:int):void
{
    container.width = wid;
    container.height = hgt;
}

масштабирует ваше приложение до размера сцены. если вам нужно поддерживать соотношение сторон вашего приложения, то вы можете либо настроить способ встраивания SWF, либо самостоятельно обрабатывать логику соотношения сторон в функции setSize.

...