воскресенье, 28 октября 2012 г.

Masks

Маска - это область, в которой отображается изображение.

Вот что получится из изображения:



И круглой маски

Подождите, пока загрузится swf.
Get Adobe Flash player


Как это сделать?

У каждого MovieClip есть свойство mask.

Чтобы создать маску, достаточно присвоить этому свойству другой мувиклип.

Цвет маски ни на что не влияет. Важна только форма, а форма может быть любой ( но есть одно исключение - "маска с дыркой" ).

Чтобы сделать пример выше, нам нужно:

  • Добавить картинку на сцену
  • Добавить маску на сцену
  • Связать маску с картинкой
  • Двигать маску за мышкой

Назовем картинку Image, экспортируем для ActionScript.
Маску назовем ImageMask и тоже экспортируем для ActionScript.

Main.as
package
{
    import flash.display.MovieClip;
    import flash.events.Event;
    
    public class Main extends MovieClip
    {
        
        private var
        image : MovieClip, imageMask : MovieClip;
        
        public function Main () : void
        {
            this.init();
        }
        
        private function init () : void
        {
            // Create image
            this.image = new Image();
            // Add image to the stage
            stage.addChildAt( this.image, 0 );
            // Create mask for the image
            this.imageMask = new ImageMask();
            // Add mask to the stage
            stage.addChildAt( this.imageMask, 0 );
            // Apply mask to the image
            this.image.mask = this.imageMask;
            
            // Add ENTER_FRAME listener to update position of the mask
            this.addEventListener( Event.ENTER_FRAME, update );
        }
        
        private function update ( e : Event ) : void
        {
            this.imageMask.x = stage.mouseX;
            this.imageMask.y = stage.mouseY;
        }
    }
}

Комментариев нет:

Отправить комментарий