Показать сообщение отдельно
Старый 09.03.2010, 18:04
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 1  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
По умолчанию Растягивание по ширине и высоте

Пытаюсь сделать растягивание фона по размеру сцены...
Проблема возникла, когда мне надо было растягивать его и по вертикали...дело в том, что у картинки должны сохраняться пропорции... отслеживая только координаты по одной стороне - на второй при определенных обстоятельствах сцена становится больше чем сама картинка!
Вот код:
Код AS1/AS2:
Stage.scaleMode = "noScale";
Stage.align = "TL";
 
loaderPro._x = 0;
loaderPro._y = 0;
 
var a:Number;
 
function resizeBg():Void
{
	if(Stage.width > Stage.height)
	{
		if(Stage.width > 1000)
		{
		a = loaderPro._width/ loaderPro._height;
		loaderPro._width = Stage.width;
		loaderPro._height = loaderPro._width / a;
		//trace(loaderPro._width/loaderPro._height);
		}
	}
 
		else if(Stage.height > 600)
		{
			a = loaderPro._height/ loaderPro._width;
			loaderPro._height = Stage.height;
			loaderPro._width = loaderPro._height / a;
			//trace(loaderPro._height/loaderPro._width);
		}
 
}
 
resizeBg();
 
onResize = function()
{
	resizeBg();
}
 
Stage.addListener(this);
Если вы попробуете сделать сцену больше по вертикали, чем по горизонтали, то увидите, что сцена становится больше чем картинка, а потом происходит как бы скачок и картинка начинает выравниваться уже не по горизонтали, а по вертикали. Как можно сделать чтобы такого скачка не было и всё перемещалось плавно, но при этом картинка не становилась меньше её изначальных размеров 1000х600 ?
Вложения
Тип файла: rar strechTest.rar (4.4 Кб, 29 просмотров)