#flash #actionscript-3 #actionscript #ria #rich-internet-application
#flash #actionscript-3 #actionscript #ria #расширенное интернет-приложение
Вопрос:
Я создаю проект Flash, который призван стать очень визуально привлекательным приложением. Для достижения этой цели я надеюсь подогнать приложение под 100% размер окна браузера и наполнить его содержимое визуально привлекательными изображениями и интерактивностью.
Некоторые из этих объектов я хотел бы поддерживать на постоянном расстоянии от определенной стороны сцены, скажем, левой стороны. Вот мой код, который я использую, чтобы сохранить логотип на расстоянии 100 пикселей от левой части приложения во время выполнения и изменить размер:
import flash.events.Event;
var logo:Logo = new Logo();
stage.addEventListener(Event.RESIZE, resizeListener);
function resizeListener(e:Event):void {
logo.x = 100;
}
logo.x = 100;
logo.y = stage.stageHeight / 2;
logo.width = logo.width / 2;
logo.height = logo.height / 2;
addChild(logo);
Проблема с этим заключается в том, что по какой-то причине логотип остается на месте и не поддерживает постоянное расстояние от левой стороны сцены при изменении размера приложения. Может ли кто-нибудь помочь мне пересмотреть приведенный выше код, чтобы сохранить логотип размером 100 пикселей с левой стороны?
Спасибо за вашу помощь.
Ответ №1:
Убедитесь, что вы установили stage
‘s align
и scaleMode
.
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
В идеале вы должны установить это через класс document, и могут возникнуть проблемы с безопасностью, если вы попытаетесь внести эти изменения из импортированного видеоролика.
Кроме того, в проигрывателе для отладки flash могут возникнуть проблемы с выравниванием сцены и масштабированием, которые не отображаются в тестах браузера в реальном времени.
Комментарии:
1. хорошо, мы добиваемся прогресса, но у меня есть фоновое изображение, у которого проблема с параметром TOP_LEFT. есть ли способ обойти это с помощью настройки StageAlign по умолчанию?
2. Вы можете попробовать другие значения для свойства StageAlign , но вам, возможно, придется пересчитать положение логотипа при изменении размера (просто предположение, но
-stageWidth / 2
для выравнивания по центру)3. Ах … хорошо, я изменил StageAlign на left и также установил точку регистрации фона слева. Раньше у фона была контрольная точка в центре, и он не был бы достаточно большим, чтобы покрыть сцену, когда он был повторно захвачен слишком большим. Итак, теперь фоновое изображение хорошо вписывается при изменении размера сцены. Спасибо за вашу помощь!