Руководство по actionscript. часть 3, стр. 120
1. Создать отображаемый объект (то есть экземпляр любого базового класса отображения или любого класса, который расширяет базовый класс отображения).
2. Вызвать метод экземпляра addChild ( ) класса DisplayOb j ectContainer либо над экземпляром класса Stage, либо над экземпляром основного класса и передать в метод addChild ( ) отображаемый объект, созданный на шаге 1.
Попробуем выполнить вышеописанные общие шаги, создав класс GreetingApp, а затем добавив прямоугольник, круг и текстовое поле в список отображения с помощью метода addChild ( ). Сначала приведем основу класса GreetingApp:
package { import flash. display.*: import flash. text. TextField:
public class GreetingApp extends Sprite { public function GreetingApp ( ) { }
}
}
В нашем классе GreetingApp будут использованы классы Shape и Sprite, поэтому мы импортируем целиком весь пакет flash. display, который содержит эти классы. Подобным образом в классе GreetingApp будет использован класс TextField, поэтому мы импортируем пакет flash. text. TextField.
Обратите внимание на то, что класс GreetingApp по необходимости расширяет класс Sprite. GreetingApp должен расширять либо класс Sprite, либо класс MovieClip, поскольку он является основным классом программы.
| В языке ActionScript 3.0 основной класс SWF-файла должен расширять либо класс Sprite, нг л «, ли6° класс MovieClip, либо их любой подкласс.
1 -
Когда основной класс представляет корневую временную шкалу FLA-файла, он должен расширять класс MovieClip. Во всех остальных случаях основной класс должен расширять класс Sprite. В нашем примере класс GreetingApp расширяет класс Sprite, поскольку он не ассоциирован с FLA-файлом. В результате компиляции этого класса должно получиться автономное приложение ActionScript.
Теперь создадим прямоугольник и круг в методе-конструкторе класса Gr ее t ingApp. И прямоугольник, и круг мы нарисуем внутри одного объекта Shape. Объекты Shape (и все графические объекты) создаются с помощью оператора new, как и объекты любого другого типа. Вот код, который используется для создания нового объекта Shape:
new ShapeC )
Безусловно, в дальнейшем нам придется обращаться к этому объекту, чтобы нарисовать в нем элементы, поэтому присвоим его переменной rectAndCircle: var rectAndCircle-.Shape = new ShapeC );
Для рисования векторов в языке ActionScript применяется вспомогательный класс отображения Graphics. Каждый объект Shape хранит свой собственный экземп-
ляр класса Graphics в переменной экземпляра graphics. Таким образом, чтобы нарисовать прямоугольник и круг внутри нашего объекта Shape, мы вызываем соответствующие методы над объектом rectAndCircle. graphics. Вот этот код:
// Задаем толщину линии, равную одному пикселу rectAndCi rclе. graphi cs.1i neStyle(1):
// Рисуем синий прямоугольник
rectAndCi rcle. graphics. beginFi11(OxOOOOFF, 1):
rectAndCircle. graphics. drawRect(125. 0. 150. 75):
// Рисуем красный круг
rectAndCi rcle. graphics. begi nFi11(OxFFOOOO, 1); rectAndCircle. graphics. drawCircle(50. 100. 50):
*\ -’-
I Дополнительную информацию о вектррном рисовании в языке ActionScript 3.0 можно м& найти в гл. 25.