Показать сообщение отдельно
Старый 25.03.2013, 16:14
vorodis2 вне форума Посмотреть профиль Отправить личное сообщение для vorodis2 Найти все сообщения от vorodis2
  № 2  
Ответить с цитированием
vorodis2

Регистрация: Feb 2011
Адрес: Украина Днепропетровск
Сообщений: 106
http://away3d.com/forum/viewthread/4079/
Получение точки в 2д координатах.

Получение точки на общей сцене, а точка находиться в контейнер/контейнер/ до 5 штук
Код AS3:
/**
		 * Приводит точку до низа
		 * @param	object3d контейнер в котором есть точка3д ObjectContainer3D //Mesh
		 * @param	veCmaxX сама точка
		 * @param	sah сколько контейнеров назад до 5 
		 */
		static public function poiskNewPoint3D(object3d:ObjectContainer3D, veCmaxX:Vector3D, sah:int=5):Vector3D {
			var vertor:Vector3D = new Vector3D(veCmaxX.x,veCmaxX.y,veCmaxX.z);			
			var sss:int = 0;			
			if(object3d.parent!=null){
				vertor = object3d.transform.deltaTransformVector(vertor);
				vertor.x += object3d.x;
				vertor.y += object3d.y;
				vertor.z += object3d.z;
				sss++;
				if (object3d.parent.parent != null&&sss<=sah) {
					vertor = object3d.parent.transform.deltaTransformVector(vertor);
					vertor.x += object3d.parent.x;
					vertor.y += object3d.parent.y;
					vertor.z += object3d.parent.z;	
					sss++;
					if (object3d.parent.parent.parent != null&&sss<=sah) {
						vertor = object3d.parent.parent.transform.deltaTransformVector(vertor);
						vertor.x += object3d.parent.parent.x;
						vertor.y += object3d.parent.parent.y;
						vertor.z += object3d.parent.parent.z;
						sss++;
						if (object3d.parent.parent.parent.parent != null&&sss<=sah) {
							vertor = object3d.parent.parent.parent.transform.deltaTransformVector(vertor);
							vertor.x += object3d.parent.parent.parent.x;
							vertor.y += object3d.parent.parent.parent.y;
							vertor.z += object3d.parent.parent.parent.z;
							sss++;
							if (object3d.parent.parent.parent.parent.parent != null&&sss<=sah) {
								vertor = object3d.parent.parent.parent.parent.transform.deltaTransformVector(vertor);
								vertor.x += object3d.parent.parent.parent.parent.x;
								vertor.y += object3d.parent.parent.parent.parent.y;
								vertor.z += object3d.parent.parent.parent.parent.z;
								sss++;
								if (object3d.parent.parent.parent.parent.parent.parent != null&&sss<=sah) {
									vertor = object3d.parent.parent.parent.parent.parent.transform.deltaTransformVector(vertor);
									vertor.x += object3d.parent.parent.parent.parent.parent.x;
									vertor.y += object3d.parent.parent.parent.parent.parent.y;
									vertor.z += object3d.parent.parent.parent.parent.parent.z;									
								}
							}
						}						
					}					
				}			
			}
 
 
 
 
 
 
			return vertor;
		}