Показать сообщение отдельно
Старый 13.01.2015, 13:38
Vlad84 вне форума Посмотреть профиль Отправить личное сообщение для Vlad84 Найти все сообщения от Vlad84
  № 1  
Ответить с цитированием
Vlad84

Регистрация: Jul 2012
Сообщений: 148
По умолчанию Скейл относительно точки

Не могу понять почему если скейл анимированный, т.е. медленно ползет от 1 до 3, скейл сходит с ума.
Код AS3:
import com.greensock.*;
import com.greensock.easing.*;
 
function scaleAroundPoint(target:DisplayObject, point:Point, scaleFactor:Number) {
	var m:Matrix = target.transform.matrix;
		m.translate(-point.x, -point.y);
		m.scale(scaleFactor, scaleFactor);
		m.translate(point.x, point.y);
	target.transform.matrix = m;
}
 
var scale:Number = mc.scaleX;
TweenMax.to(this, 5, {scale:3, onUpdate:update});
 
function update() {
	scaleAroundPoint(mc, new Point(300, 300), scale);
}

Когда однократно вызываешь метод, передавая туда финальное значение скейла, то все нормально.
Код AS3:
scaleAroundPoint(mc, new Point(300, 300), 3);