Одно из наиболее значительных изменений (если не самое значительное) в
ActionScript 3, вероятно заключается в необходимости работы с объектами
отображения, или объектами, видимыми на экране. Наряду с признанным и
популярным объектом MovieClip (flash.display.MovieClip), ActionScript 3 поддерживает дополнительные экземпляры объекта отображения, включая следующие, но, не ограничиваясь ими:
- Sprite (flash.display.Sprite) – наподобие MovieClip, но без кадров
Shape (flash.display.Shape) – наподобие Sprite, но без взаимодействия с мышью или клавиатурой Bitmap (flash.display.Bitmap) – наподобие Sprite, но используется только для отображения растровых изображений Loader (flash.display.Loader) – наподобие Sprite, но используется специально для отображения и содержимого загруженного контента (SWF файлы и изображения)
Спрайты
являются новым видом облегченного объекта MovieClip, который технически
не имеет кадров, по крайне мере, в общепринятом смысле. В более
практичном смысле, как и флеш, можно рассматривать Sprite в качестве
объекта, имеющего один кадр, в котором он содержит свой контент или
потомков, но не существует никакой навигации к какому-либо кадру за
пределами первого кадра. Так как экземпляры MovieClip, которые вы
создаете динамически посредством ActionScript, не могут иметь кадры, то
есть шансы, что вы захотите использовать Sprite вместо MovieClip для
всех динамически создаваемых экземпляров MovieClip. Формы
похожи на спрайты, но ограничены тем, что не предлагают никакого типа
взаимодействия с мышью или клавиатурой. Другими словами, эти объекты
отображения не могут получить такие события как mouseDown или keyUp. К
тому же, экземпляры Shape не могут содержать какой-либо другой вид
объекта отображения, а также не могут иметь собственных потомков. Можно
только нарисовать векторные формы внутри них, используя API библиотеку
для рисования векторной графики (beginFill, lineTo, endFill,
т. д.). Это рассматривается как преимущество форм, так как они
используют меньше памяти и более эффективны, чем клипы и спрайты.
Экземпляры Bitmap очень сильно похожи на
формы, за исключением того, что вместо возможности содержать векторные
рисунки они могут содержать растровые изображения, определенные
экземпляром BitmapData. Они тоже не могут содержать какой-либо другой
объект отображения, или потомка. В отличие от форм, Bitmaps могут
взаимодействовать с мышкой или клавиатурой. Loader
– это объект отображения, похожий на Sprite, который, как и Sprite, не
имеет временной шкалы, но разработан специально для содействия загрузки
внешнего контента отображения, такого как внешние SWF файлы и растровые
изображения. После загрузки эти ресурсы отображаются в экземпляре
Loader и доступны через свойство content лоадера. Более подробную информацию вы можете получить в документации к Flash CS3 об основных классах отображения.
|