Показать сообщение отдельно
Старый 23.01.2009, 13:35
nauroman вне форума Посмотреть профиль Отправить личное сообщение для nauroman Найти все сообщения от nauroman
  № 3  
Ответить с цитированием
nauroman
 
Аватар для nauroman

Регистрация: Sep 2005
Сообщений: 50
Я тоже так думаю. В том и проблема.

Добавлено через 2 часа 45 минут
Делаю так:

Код AS3:
 
	public class SomeContainer extends Sprite
	{
 
		override public function addChild(param_child:DisplayObject):DisplayObject
		{			
// По этой вот формуле: plane.transform = Matrix3D.multiply(Matrix3D.inverse(newcontainer.transform), Matrix3D.multiply(oldcontainer.transform, plane.transform));
 
			if (param_child.transform.matrix3D == null) param_child.transform.matrix3D = new Matrix3D();					
			if (param_child.parent.transform.matrix3D == null) param_child.parent.transform.matrix3D = new Matrix3D();
			if (transform.matrix3D == null) transform.matrix3D = new Matrix3D();
 
			var inv_m:Matrix3D = transform.matrix3D.clone();
			inv_m.invert();
 
			var child_m:Matrix3D = param_child.transform.matrix3D.clone();
			var prevCont_m:Matrix3D = param_child.parent.transform.matrix3D.clone();
 
			prevCont_m.prepend(child_m);
			inv_m.prepend(prevCont_m);
 
			super.addChild(param_child);			
 
			param_child.transform.matrix3D = inv_m;
 
...
Не работает - вращение сбивается


Последний раз редактировалось nauroman; 23.01.2009 в 16:28.