Fash-CS5 после изменения размера мувиклипа шрифты / изображения сжимаются - PullRequest
0 голосов
/ 14 июля 2011

У меня есть один мувиклип размером 1280 x 720 с несколькими изображениями, кнопками и текстом.
Во время выполнения мне нужно изменить размер этого мувиклипа на 1280 x 300, после этого изображения, кнопки итекст в видеоклипе сжимается по вертикали.

Как отобразить одинаковый движущийся клип с изображениями и текстом в нем разных размеров, не затрагивая размер содержимого.

Новое редактирование / обновление:
в другом случае у меня есть список внутри фрагмента ролика.
Что я хочу заархивировать, так это то, что я хочу сохранить размер элемента списка статическим, и он не должен изменяться, если родительскийповторно размеры.если это невозможно во флэш-памяти, то как я могу изменить размер всех элементов в списке.я не знаю, почему список не использует свойство прокрутки должным образом, чтобы отобразить его содержит в соответствии с размером.Предположим, например, что если размер списка составляет 600 пикселей, то он должен отобразить 7 элементов в списке, а затем предоставить прокрутку для других элементов, и если мы изменим размер списка, предположив 300, и он должен отобразить 4 элемента и предоставить прокрутку для.Оставшийся товар

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июля 2011

Насколько я понимаю, у вас есть один фрагмент ролика с изображением, несколькими текстовыми полями и кнопками.Вы изменяете размер мувиклипа, который искажает все его подобъекты отображения.

Вместо этого вам нужно либо переопределить установщики ширины / высоты (как предложил Хокс), либо добавить новый метод (например, resize( newHeight:int )).) что-то вроде:

function resize( newHeight:int ):void
{
    // resize the image
    image.height = newHeight;
    image.scaleX = image.scaleY; // this will maintain the aspect

    // re-position the other elements
    button.y = newHeight - button.height - 5; // where 5 is the margin

    textField1.y = button.y - textField1.height; // if you want the text field to be positioned above the button
}
0 голосов
/ 14 июля 2011

Если этот MovieClip является основным классом документа, задайте следующие свойства рабочей области:

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

, если этот MovieClip существует в другом месте в вашем стеке swf / timeline / display, вы можете переопределить установки ширины / высоты инаписать собственный код для организации вашего MovieClip

override public function set width(value:Number):void
{
    //organise your MovieClips images/buttons/text horizontally
}

override public function set height(value:Number):void
{
    //organise your MovieClips images/buttons/text vertically
}

Существуют более сложные решения (рендеринг изменений только один раз, а не при каждом вызове сеттера), и для тех, кого я бы посмотрел, как Кит Питерс обрабатывает это в своемБиблиотека MinimalComponents.

...