Приложение Flex расширяет Sprite, не используя всю ширину браузера (Flash / Flex) - PullRequest
1 голос
/ 22 февраля 2009

У меня есть простое приложение HelloWorld, созданное во FlexBuilder. Это просто простой класс, который расширяет Sprite. В выделенном Flash-плеере SWF-файл занимает весь экран. В Firefox, однако, как в HTML, так и в одиночку, он отображается справа. Есть ли простое лекарство от этого?

Код - это просто конструктор (в котором stage.stageWidth и stageHeight читаются правильно, как ни странно), который добавляет TextField к Sprite и устанавливает размер для stage.stageWidth и stage.stageHeight.

Редактировать: Безрезультатно, я пытался переместить содержимое конструктора в обработку событий Event.ADDED_TO_STAGE, но я думаю, что вся линия исследования мертва.

Редактировать: Теперь, когда я знаю, что ответ Тео верен, я нашел эту ссылку . Nice!

1 Ответ

2 голосов
/ 22 февраля 2009

HTML Flash Embed

Сначала убедитесь, что ваш тег для вставки в порядке (ширина и высота установлены на 100%, CSS и т. Д.). Это не должно быть проблемой, так как вы говорите, что только SWF-файл, отображаемый в браузере, также содержит ошибки.

Alignement

Убедитесь, что вы установили выравнивание сцены в верхнем левом углу в вашем конструкторе:

stage.align = StageAlign.TOP_LEFT;

Пересчет

Обычно, если вы позволяете флеш-памяти масштабировать все ваше приложение, оно может выглядеть уродливо (слишком большие шрифты и т. Д.). Лучше всего использовать для установки масштабирования сцены значение «без масштаба» и прослушивание этапа RESIZE Event для масштабирования и позиционирования объектов, которые в этом нуждаются.

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, stageResizeHandler);
stageResizeHandler();

И что-то вроде (псевдокод):

private function stageResizeHandler(event:Event=null):void
{
    backgroundShape.width = stage.stageWidth;
    backgroundShape.height = stage.stageHeight;

    footer.y = stage.stageHeight - footer.height;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...