Показать сообщение отдельно
Старый 13.11.2010, 15:57
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Алгоритм прост.
Код AS3:
package  ru.wolsh.display
{
	import flash.display.DisplayObject;
	import flash.geom.Point;
 
/* * * * * * * * * *
*                  *
*  @author wolsh   *
*                  *
\* * * * * * * * * */ 
	public function pointRotate (object:DisplayObject, center:Point, angle:Number) : void
	{
		var ra:Number = angle * Math.PI / 180;
 
		var dX:Number = center.x - object.x;
		var dY:Number = center.y - object.y;
 
		var dg:Number = Math.sqrt(dX * dX + dY * dY);
		var da:Number = Math.asin(dX / dg);
 
		object.rotation = angle;
 
		object.x = center.x - dg * Math.sin(da - ra);
		object.y = center.y - dg * Math.cos(da - ra);
	}
}
__________________
Reality.getBounds(this);