Показать сообщение отдельно
Старый 04.09.2012, 19:59
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 7  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
А вот самый абстрактный вариант, что у меня получился
Для тех несуществующих случаев, когда изображение в обоих контейнерах может быть не на нулевых коррдинатах.

Код AS3:
private function onMoveInParentBox1(event:MouseEvent):void
		{
			var currentPoint : Point = new Point(stage.mouseX, stage.mouseY);
			var diff : Point = currentPoint.subtract(_prevPoint);
			var boxBound : Rectangle = box1.getBounds(stage);
			var parentBound : Rectangle = parentBox.getBounds(stage);
			var out : Point = new Point();
 
			boxBound.offsetPoint(diff);
 
			if(boxBound.containsRect(parentBound) == false)
			{
				var unionBound : Rectangle = parentBound.union(boxBound);
				var xMul : Number = unionBound.x < boxBound.x ? 1 : -1;
				var yMul : Number = unionBound.y < boxBound.y ? 1 : -1;
 
				out.x = (unionBound.width - boxBound.width) * xMul;
				out.y = (unionBound.height - boxBound.height) * yMul;
			}
 
			box1.x += diff.x - out.x;
			box1.y += diff.y - out.y;
 
			_prevPoint = currentPoint;
		}
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.