Home | Flex examples | Поворачиваем объекты на Flex. Точка поворота объектов.

Поворачиваем объекты на Flex. Точка поворота объектов.

Font size: Decrease font Enlarge font
image

Как изменить точку поворота объекта (registration point) во Flex.

Очень часто бывает необходимо поворачивать объекты во Flex. По умолчанию точкой поворота является верхний левый угол объекта, но это не всегда то, что нужно. Хотелось бы сместить эту точку в другое место (центр, нижний левый и т. д.), чтобы вращать объект.

Можно использовать эффект Rotate и его параметры originX и originY, но здесь мы рассмотрим другие способы:
Поворачивать объект, используя MatrixClass и translate - rotating by matrix class

            var centerX:Number = imageBitmap.width / 2;
            var centerY:Number = imageBitmap.height /2;
            m.translate(-1 * centerX, -1 * centerY);
            var angle:Number = 2 * Math.PI * (60 / 360); // 60˚ in radians
            m.rotate(angle);
            m.translate(centerX, centerY);  
         


и оригинальная идея Chad Upton - поворот, используя свойство Canvas clipContent.

Основная идея состоит в том что у Canvas свойство clipContent устанавливается в false и мы можем перемещать его объекты за границы и они будут видимы, а вращать будем этот родительский Canvas.
Исходники - source, приложение - application

Comments (1 posted):

Bjorn on 18 November, 2008 06:25:11
avatar
Конечно можно обойтись и без Canvas, а просто использовать несколько Sprite, один из них сделав маской. Принцип такой же, делаем большой спрайт, в нем картинки и накладываем маску, чтобы было видно только картинку. Вращаем при этом родительский спрайт.

Post your comment comment

Please enter the code you see in the image:

  • email Email to a friend
  • print Print version
  • Plain text Plain text
Tags
No tags for this article
Rate this article
5.00