|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
как во флеше сделать "растягиваемый" фоновый рисунок?
Господа !
Всех с началом лета и вкусных шашлычков. Если можно: я сделал игру с размерами 730*803, таким же образом подогнал к ней фоновый рисунок... Некий досадный недостаток: когда у браузера размеры несколько более роскошные, чем указанные 730*803, появляется неприятный белый фон сверху и по бокам. Как с этим бороться ? Постараюсь поискать сам, но все равно за ответы буду признателен... Влад |
|
|||||
Размер рисунка 730*803, размер окошечка страницы, допустим, 760 * 900
760 / 730 ~ 1,041096 900 / 803 ~ 1,120797 Можно просто взять эти значения и присвоить свойству растяжения по X и растяжение по Y. А сам размер окошка будет определен в параметре stage.stageWidth и stage.stageHeight (конечно, если сама флешка забита в страницу не жесткими рамками а процентами от общей ширины и высоты) Немаловажное заменчание - обращаться к stage можно только после добавления экземпляра, в котором пишем код, на сцену. То есть после срабатывания события Event.ADDED_TO_STAGE |
|
|||||
Регистрация: Sep 2006
Сообщений: 145
|
Для масштабирования всех объектов в приложении я использую статический класс Layout из аттача (положить в com.xo11.utils). Для начала классу передается стейдж (если не передать - выпадет эксепшен), далее задаются базовая ширина-высота (под какой размер сделана графика).
Для того, чтобы масштабировать объекты - подписываемся на onResize и по событию всем нужным объектам задаем Если же нужно масштабировать фон - сравниваем коэффициенты if (Layout.back_kX > Layout.back_kY) { myBackground.scaleX = myBackground.scaleY = Layout.back_kX; } else { myBackground.scaleX = myBackground.scaleY = Layout.back_kY; } Дополнительно можно задать режим работы (Layout.mode): MODE_UP - только увеличение, MODE_DOWN - только уменьшение, MODE_UP_DOWN - масштабирование и вверх, и вниз. Также в классе присутствуют предзаданные части экрана - углы и центр поинтами и отдельно центр по иксу и центр по игрику Layout.zip Последний раз редактировалось XoJlToH; 08.06.2013 в 14:46. Причина: код отклеился |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
Я использую этот способ:
var scale:Number = background.height/background.width; background.width = Math.min(stage.stageWidth, stage.stageHeight); background.height = background.width * scale; |
|
|||||
Дорогие друзья !
Между тем мои эксперименты с .html - видом привели к потрясающему результату: достаточно при конвертации в html выставить на html-вкладке (вызывается после ctrl+shift+F12) опцию "масштабировать" в режим "точное соответствие", и все вопросы решены ! Всем искренне спасибо за участие в дискуссии... |
Часовой пояс GMT +4, время: 11:58. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|