Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.06.2013, 07:23
wlad вне форума Посмотреть профиль Отправить личное сообщение для wlad Найти все сообщения от wlad
  № 1  
Ответить с цитированием
wlad

Регистрация: Jul 2010
Адрес: Москва
Сообщений: 256
Записей в блоге: 1
По умолчанию как во флеше сделать "растягиваемый" фоновый рисунок?

Господа !

Всех с началом лета и вкусных шашлычков.

Если можно: я сделал игру с размерами 730*803, таким же образом подогнал к ней фоновый рисунок... Некий досадный недостаток: когда у браузера размеры несколько более роскошные, чем указанные 730*803, появляется неприятный белый фон сверху и по бокам. Как с этим бороться ?

Постараюсь поискать сам, но все равно за ответы буду признателен...

Влад

Старый 08.06.2013, 08:34
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 2  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Размер рисунка 730*803, размер окошечка страницы, допустим, 760 * 900
760 / 730 ~ 1,041096
900 / 803 ~ 1,120797
Можно просто взять эти значения и присвоить свойству растяжения по X и растяжение по Y. А сам размер окошка будет определен в параметре stage.stageWidth и stage.stageHeight (конечно, если сама флешка забита в страницу не жесткими рамками а процентами от общей ширины и высоты)
Код AS3:
//Допустим у нас есть фон background
background.scaleX = stage.stageWidth / background.width;
background.scaleY = stage.stageHeight / background.height;
Немаловажное заменчание - обращаться к stage можно только после добавления экземпляра, в котором пишем код, на сцену. То есть после срабатывания события Event.ADDED_TO_STAGE

Старый 08.06.2013, 14:23
XoJlToH вне форума Посмотреть профиль Отправить личное сообщение для XoJlToH Найти все сообщения от XoJlToH
  № 3  
Ответить с цитированием
XoJlToH
 
Аватар для XoJlToH

Регистрация: Sep 2006
Сообщений: 145
Для масштабирования всех объектов в приложении я использую статический класс Layout из аттача (положить в com.xo11.utils). Для начала классу передается стейдж (если не передать - выпадет эксепшен), далее задаются базовая ширина-высота (под какой размер сделана графика).
Для того, чтобы масштабировать объекты - подписываемся на onResize и по событию всем нужным объектам задаем
Код AS3:
myMovieClip.scaleX=myMovieClip.scaleY=Layout.kX;
Если же нужно масштабировать фон - сравниваем коэффициенты
Код AS3:
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. Причина: код отклеился
Старый 08.06.2013, 15:53
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Я использую этот способ:
Код AS3:
var scale:Number = background.height/background.width;
background.width = Math.min(stage.stageWidth, stage.stageHeight);
background.height = background.width * scale;
Ну, если фон квадратный:
Код AS3:
background.width = Math.min(stage.stageWidth, stage.stageHeight);
background.height = background.width;

Старый 09.06.2013, 00:40
wlad вне форума Посмотреть профиль Отправить личное сообщение для wlad Найти все сообщения от wlad
  № 5  
Ответить с цитированием
wlad

Регистрация: Jul 2010
Адрес: Москва
Сообщений: 256
Записей в блоге: 1
Дорогие друзья !

Между тем мои эксперименты с .html - видом привели к потрясающему результату: достаточно при конвертации в html выставить на html-вкладке (вызывается после ctrl+shift+F12) опцию "масштабировать" в режим "точное соответствие", и все вопросы решены !

Всем искренне спасибо за участие в дискуссии...

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.