Показать сообщение отдельно
Старый 12.05.2008, 12:31
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 14  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
мне кажется так проще всего... использую эту функцию уже очень давно.
передаем параметрами мувик, требуемые ширину, высоту и булев флаг, указывающий надо описать или вписать мувик

Код:
// _mc - мувик, размеры которого надо изменить
// _w - требуемая ширина
// _h - требуемая высота
// f - если false, то _mc описывает прямоугольник со сторонами _w, _h, иначе вписывается внутрь этого прямоугольника

function fullMc(_mc:MovieClip, _w:Number, _h:Number, f:Boolean):Void {
	var k:Number = f ? Math.min(_w/_mc._width, _h/_mc._height) : Math.max(_w/_mc._width, _h/_mc._height);
	_mc._yscale = _mc._xscale *= k;
}
==========================================

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

Код:
// _mcR - мувик, размеры которого надо изменить
// _mc - мувик, по размерам котоорого происходит ресайз
// f - если false, то _mc описывает прямоугольник со сторонами _w, _h, иначе вписывается внутрь этого прямоугольника

function fullMc(_mcR:MovieClip, _mc:MovieClip, f:Boolean):Void {
	var k:Number = f ? Math.min(_mc._width/_mcR._width, _mc._height/_mcR._height) : Math.max(_mc._width/_mcR._width, _mc._height/_mcR._height);
	_mcR._yscale = _mcR._xscale *= k;
	_mcR._x = _mc._x+(_mc._width-_mcR._width)/2;
	_mcR._y = _mc._y+(_mc._height-_mcR._height)/2;
}
2модераторы:
делаю второй пост подряд для того, чтобы не сливались ответы на разные по сути проблемы

==========================================

У тебя картинка не успевает загрузиться, когда ты ей меняешь размеры. Для загрузки картинок надо использовать класс MovieClipLoader. Код приблизительно такого вида:
Код:
onLoadInit = function () {
    //fullMc(...)
}
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this)
mcl.loadClip('что грузим', 'куда грузим')
__________________
сайт, vk


Последний раз редактировалось iNils; 12.05.2008 в 14:51.