Проблема с изменением размера флэш-памяти

#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 и также установил точку регистрации фона слева. Раньше у фона была контрольная точка в центре, и он не был бы достаточно большим, чтобы покрыть сцену, когда он был повторно захвачен слишком большим. Итак, теперь фоновое изображение хорошо вписывается при изменении размера сцены. Спасибо за вашу помощь!