Управление сценой с помощью ActionScript

В этом уроке мы рассмотрим 2 вопроса:

  1. Управление сценой с помощью ActionScript
  2. Дополнительная информация

Во Flash CS5 Professional, так же как и во всех предыдущих версиях этой программы, сцена (Stage) представляет собой место, где Вы можете рисовать и помещать объекты. Во время воспроизведения фильма Flash player'ом они визуализируются. В ActionScript 3.0 тоже есть класс Stage, который представляет из себя контейнер, содержащий все объекты предназначенные к показу (display list) или видимые во Flash Player'е. Технически это немного разные вещи, но в рамках этого курса можете считать, что это примерно одно и тоже.

Экземпляр stage класса Stage автоматически создается во время загрузки фильма во Flash Player. Этот экземпляр содержит несколько важных свойств и методов, которые Вы можете использовать в своем коде. Например,

stage.stageWidth
stage.stageHeight

могут использованы для определения ширины и высоты сцены (Stage) или местоположения других экземпляров относительно ее размеров.

Например, экземпляр myRec можно разместить ровно посередине сцены, определив его свойство х как половину ширины сцены, а свойство у как половину высоты сцены:

myRec.x = stage.stageWidth / 2;
myRec.y = stage.stageHeight / 2;

В примере, который мы рассмотрим ниже клип будет помещен ровно посередине сцены, а остальные 4 относительно него по «сетке».

Управление сценой с помощью ActionScript

Размещение экземпляров на сцене

Создайте 5 экземпляров MovieClip на сцене.

Управление сценой с помощью ActionScript, рис. 1

Присвойте каждому экземпляру индивидуальное имя. Например, myRec1, myRec2... myRec5.

Позиционирование экземпляров с помощью кода

Создайте новый слой.

Щелкните на первом кадре нового слоя.

Откройте панель Actions (F9).

Назначьте местоположение первого экземпляра:

myRec1.x = stage.stageWidth/2;
myRec1.y = stage.stageHeight/2;

Назначьте местоположение второго экземпляра:

myRec2.x = myRec1.x + (myRec1.width + 5);
myRec2.y = myRec1.y;

Назначьте местоположение третьего экземпляра:

myRec3.x = myRec1.x - (myRec1.width + 5);
myRec3.y = myRec1.y;

Назначьте местоположение четвертого экземпляра:

myRec4.x = myRec1.x;
myRec4.y = myRec1.y + (myRec1.height + 5);

Назначьте местоположение пятого экземпляра:

myRec5.x = myRec1.x;
myRec5.y = myRec1.y - (myRec1.height + 5);

Нажмите Ctrl + Enter. Ролик начнет воспроизводиться.

Управление сценой с помощью ActionScript, рис. 2

В этом примере прямоугольники были размещены по «сетке» с центром в середине сцены.

Дополнительная информация

У класса Stage есть свойство frameRate, которое управляет скоростью воспроизведения фильма. Значение этого свойства можно изменять во время показа фильма! То есть Вы можете либо замедлять, либо ускорять скорость показа.

btn_SpeedUp.addEventListener(MouseEvent.CLICK, speedUp);
btn_SlowDown.addEventListener(MouseEvent.CLICK, slowDown);
function speedUp(event:MouseEvent):void
{
   stage.frameRate = stage.frameRate + 5;
}
function slowDown(event:MouseEvent):void
{
   stage.frameRate = stage.frameRate - 5;
}