Выбор подкласса DisplayObject

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий

Имея несколько параметров на выбор, при работе с экранными объектами вам предстоит принять среди прочих важное решение относительно того, какой экранный объект какой цели соответствует. Ниже приводится ряд рекомендаций, которые помогут вам определиться с выбором. Те же самые советы применяются тогда, когда необходим экземпляр класса, или при выборе базового класса для создаваемого класса:

  • Если вам не нужен объект, который может быть контейнером для других экранных объектов (то есть просто необходим объект, который служит автономным экранным элементом), выберите один из этих подклассов DisplayObject или InteractiveObject в зависимости от того, для чего он будет использоваться:

    • Bitmap для показа растрового изображения.

    • TextField для добавления текста.

    • Video для показа видеофайлов.

    • Shape для создания «холста», позволяющего рисовать содержимое на экране. В частности, если вы хотите создать экземпляр для отрисовки фигур на экране, и он не будет контейнером для других экранных объектов, вы получите значительный прирост производительности, используя Shape вместо Sprite или MovieClip.

    • MorphShape, StaticText или SimpleButton для элементов, созданных в инструменте разработки Flash. (Экземпляры этих классов нельзя создать программным методом, но вы можете создавать переменные с этими типами данных, чтобы обращаться к элементам, созданным с помощью инструмента разработки Flash.)

  • Если необходима переменная, относящаяся к основной рабочей области, в качестве типа данных выберите класс Stage.

  • Если вам необходим контейнер для загрузки внешнего SWF-файла или файла изображения, воспользуйтесь экземпляром Loader. Загруженное содержимое будет добавлено в список отображения в качестве дочернего объекта экземпляра Loader. Его тип данных будет зависеть от характера загруженного содержания следующим образом:

    • Загруженное изображение станет экземпляром Bitmap.

    • Загруженный SWF-файл, написанный на ActionScript 3.0, будет экземпляром Sprite или MovieClip (или экземпляром подкласса этих классов, как указано создателем содержимого).

    • Загруженный SWF-файл, написанный на языках ActionScript 1.0 или ActionScript 2.0, будет экземпляром AVM1Movie.

  • Если вам необходим объект, который будет служить контейнером для других экранных объектов (рисование на экранном объекте с помощью ActionScript), выберите один из подклассов DisplayObjectContainer:

    • Sprite (если объект будет создан только с помощью ActionScript или в качестве базового класса для заказного экранного объекта, который будет создаваться и обрабатываться исключительно средствами ActionScript).

    • MovieClip (если вы создаете переменную, относящуюся к символу фрагмента ролика, созданному в инструменте разработки Flash).

  • Если вы создаете класс, который будет связан с символом фрагмента ролика в библиотеке Flash, выберите один из указанных ниже подклассов DisplayObjectContainer в качестве базового класса вашего класса:

    • MovieClip (если связанный символ фрагмента ролика имеет содержимое более чем в одном кадре)

    • Sprite (если связанный символ фрагмента ролика имеет содержимое только в первом кадре)