Я пытаюсь создать простую форму, в которой вы можете ввести пин-код и отправить его для переключения на другой мувиклип. Я использую Flash CS5 и ActionScript 3. У меня есть некоторые мувиклипы, размер которых изменяется при изменении размера события. Размеры видеоклипов идеально подгоняются к размеру сцены, поэтому они заполняют ее.
У меня проблема с масштабированием.
Чтобы избежать масштабирования всего, я использовал следующие две строки.
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
Вижу, сцена выровнена по левому верхнему углу. Но все же, если я изменю размер своего браузера или даже предпросмотра флэш-памяти (CTRL + Enter в Adobe Flash), все элементы, такие как текстовое поле, метка и кнопка, изменяются пропорционально.
Я просто хочу сохранить ширину / высоту этих элементов, независимо от размера сцены.
Так что, если кто-то изменяет размер своего браузера, делая сцену более крупным игроком, это похоже на то, что элементы теперь имеют больше места для использования, но вместо этого пространство у них такое же, потому что все растянуто. Таким образом, даже если SWF-файл отображается в моем представлении Full-HD, все же элементы имеют всего около 550x400 пикселей, поскольку это размер по умолчанию для моего флэш-документа, основанный на настройках свойств.
Кто-нибудь может помочь решить это?
Потому что я хочу загрузить изображения на следующем экране. Так что, если ширина браузера составляет 1000 пикселей, я получу примерно 10 изображений подряд. Но если размер браузера изменяется до 2000 пикселей, потому что пользователь просто нажал кнопку «Развернуть» для окна браузера, то, очевидно, мой флэш-документ должен печатать 20 изображений подряд, поскольку теперь осталось еще 1000 пикселей. Вы знаете, что я имею в виду?
Заранее спасибо.
EDIT:
Просто чтобы быть понятнее. Я запустил новый флеш-проект, пытаясь воспроизвести эту проблему, только чтобы быть уверенным, что это не из-за плохого кода.
Я создал новый проект FLA. Добавил простой прямоугольник, преобразовал его в MovieClip и назвал его экземпляр «mc». Затем я создал второй слой для ActionScript. Я добавил следующий код:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.text.*;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, resizeListener);
function resizeListener (e:Event):void {
mc.width = stage.stageWidth;
mc.height = stage.stageHeight;
mc.x = 0;
mc.y = 0;
}
var myText:TextField = new TextField();
myText.text = "This is my new text...";
mc.addChild( myText);
Вот и все. Изменение размера работает отлично, это то, что я хочу, так как мувиклип "mc" будет действовать как страница, поэтому у меня будет больше мувиклипов, измененных до размера сцены, чтобы переключаться между ними с помощью свойства visible.
Но все же текст, появляющийся в самом верхнем левом углу в мувиклипе (то есть на сцене), масштабируется каждый раз, когда я изменяю размер окна. Почему?