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

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

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

Регистрация: Mar 2013
Сообщений: 157
По умолчанию Растянуть мувик на весь экран

Здравствуйте

Делаю приложения для контакта. Необходимо чтобы данное приложение работало как 800 х 600 так и разворачивалось на весь экран. У меня широкоформатний монитор (15,6 дюймовый) , подскажите, как правильно растянуть мувик на весь экран. На Мониторе 1024 х 768 - все классно, на широкоформатных ерунда.

Пытался сделать И для широкоформатного, но у меня получилось изображение в мувике растянуто. Как сделать, чтобы изображения в мувике растягивалось пропорционально.

viewPort - мувик с изображением

Код AS3:
public function onMonitorResize(e:MouseEvent):void
		{			
 
 
			var picHeight = new Object ();
				picHeight = Capabilities.screenResolutionY / Capabilities.screenResolutionX;
			var picWidth = new Object ();
				picWidth = Capabilities.screenResolutionX /Capabilities.screenResolutionY;
 
 			if (stage.displayState == StageDisplayState.NORMAL)
  				{
   					stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
 
 
					if ((stage.height / stage.width) < picHeight) {
							viewPort.width = Capabilities.screenResolutionX;
							viewPort.height = picHeight * viewPort.width;
 
					} else {
							viewPort.height = Capabilities.screenResolutionY;
							viewPort.width = picWidth * viewPort.height;
							viewPort.width =  (Capabilities.screenResolutionX-viewPort.width)+viewPort.width;
							viewPort.height = viewPort.height + (Capabilities.screenResolutionX-viewPort.width);
							}					
 
  				}
 			else
  				{
   					stage.displayState = StageDisplayState.NORMAL;
					viewPort.width = 800;
					viewPort.height = 600;
  				}
}

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Сделайте переменную ratio которая будет хранить отношение сторон, например для 800 на 600 это ~1.33. И считайте высоту по ширине умноженной на ratio, или наоборот,
Код AS3:
private const RATIO:Number = 800 / 600;
public function onMonitorResize(e:MouseEvent):void
		{			
 			if (stage.displayState == StageDisplayState.NORMAL)
  				{
   					stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
 
					viewPort.height = Capabilities.screenResolutionY;
					viewPort.width = viewPort.height * RATIO;			
  				}
 			else
  				{
   					stage.displayState = StageDisplayState.NORMAL;
					viewPort.width = 800;
					viewPort.height = 600;
  				}
}
Как то так. Возможно еще придется отцентровывать на экране, но это делается простым
Код AS3:
viewPort.x = Capabilities.screenResolutionX - viewPort.width / 2;
или если есть ссылка на stage, то привычней stage использовать
Код AS3:
viewPort.x = stage.stageWidth - viewPort.width / 2;

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

Регистрация: Mar 2013
Сообщений: 157
Огромное спасибо, попробую!

Добавлено через 1 час 2 минуты
К сожалению не получилось растянуть мувик на 15,6 дюймовый монитор. много пустого пространства от границы изображения до конца монитора.

Добавлено через 44 часа 50 минут
решил проблему так

Код AS3:
var newWidth:Number = this.stage.stageWidth;
var newHeight:Number = this.stage.stageHeight;
clip.scaleX = newWidth/clip.width;
clip.scaleY = clip.scaleX;

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

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

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


 


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


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