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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
package ru.wolsh.display.utils 
{
    import flash.display.DisplayObject;
/* * * * * * * * * *
*                  *
*  @author wolsh   *
*                  *
*  v. 21.10.2010   *
*                  *
\* * * * * * * * * */
    public function centerRotate (object:DisplayObject, angle:Number) : void
    {
        var rad:Number = Math.PI / 180;
        // return object to default
        var currentAngle:Number = object.rotation * rad;
        object.rotation = 0;
        var oX:Number = object.width  / 2;
        var oY:Number = object.height / 2;
        var oS:Number = Math.sin(currentAngle);
        var oC:Number = 1 - Math.cos(currentAngle);
        object.x -= oX * oC + oY * oS;
        object.y -= oY * oC - oX * oS;
        // rotate object
        var r:Number = angle * rad;
        var s:Number = Math.sin(r);
        var c:Number = 1 - Math.cos(r);
        object.rotation = angle;
        object.x += oX * c + oY * s;
        object.y += oY * c - oX * s;
    }
 
}
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 21.03.2011 в 23:47.