Показать сообщение отдельно
Старый 10.08.2015, 21:02
Bazel вне форума Посмотреть профиль Отправить личное сообщение для Bazel Найти все сообщения от Bazel
  № 5  
Ответить с цитированием
Bazel

Регистрация: Feb 2011
Сообщений: 117
Спасибо! сейчас попробую

попробовал, спрайт почему-то начинает уменьшаться.. как бы код осознал, не понимаю..



Код AS1/AS2:
 public function pointRotate(object:DisplayObject, center:Point, angle:Number) : void
    {
        /* * * * * * * * * *
*                  *
*  @author wolsh   *
*                  *
\* * * * * * * * * */ 
 
        // return to zero
        angle += object.rotation;
        var a0:Number = - object.rotation * Math.PI / 180;
        var s0:Number = Math.sin(a0);
        var c0:Number = Math.cos(a0);
        var dX0:Number = object.x - center.x;
        var dY0:Number = object.y - center.y;
 
        object.rotation = 0;
        object.x = Math.round(center.x + dX0 * c0 - dY0 * s0);
        object.y = Math.round(center.y + dX0 * s0 + dY0 * c0);
 
        // new rotation
        var r:Number = angle * Math.PI / 180;
        var s:Number = Math.sin(r);
        var c:Number = Math.cos(r);
        var dX:Number = object.x - center.x;
        var dY:Number = object.y - center.y;
 
        object.rotation += angle;
        object.x = center.x + dX * c - dY * s;
        object.y = center.y + dX * s + dY * c;
    }
код действительно работает, причина по которой уменьшается лежит в том что сначала вызывается функция перемещения объекта, а потом поворота.

Добавлено через 33 секунды
почему, сейчас буду выяснять..

Добавлено через 50 минут
а как перемещать при малых скоростях не подскажите? все работает при скорости по оси X большей пикселя
за 1/60 секунды но при малой скорости все криво, спрайт куда-то уходит не в ту сторону( по оси Y)
Вложения
Тип файла: swf rectangle.swf (15.9 Кб, 36 просмотров)


Последний раз редактировалось udaaff; 13.08.2015 в 19:35.