Руководство по actionscript. часть 5, стр. 011

Пример: библиотека объектно-ориентированных фигур

Графическое содержимое, создаваемое с помощью внутренних методов рисования фигур (drawEllipse ( ), drawRect ( ) и т. д.), не связано ни с каким объектом. После того как оно будет нарисовано, его невозможно изменить или удалить независимо от другого содержимого. В ActionScript отсутствуют классы, предоставляющие объектно-ориентированный доступ к соответствующим фигурам на экране. В этом разделе продемонстрирован один из способов устранения данного недостатка — пример реализации небольшой библиотеки классов для создания и управления фигурами как объектами.

В нашей библиотеке фигур представлены следующие классы: Basics паре, Rectange, Ellipse, Star и Polygon. Класс BasicShape — это базовый класс библиотеки. Он расширяет внутренний класс Shape, который предоставляет базовую поверхность с минимальным потреблением ресурсов для рисования фигур. Класс BasicShape управляет стилями контура и заливки для всех фигур и определяет, когда фигура должна быть перерисована. Экземпляры остальных классов представляют геометрические фигуры, которые могут добавляться в список отображения или удаляться из него. Класс каждой фигуры реализует свою собственную процедуру рисования, учитывающую особенности построения

данной фигуры. После создания объекта фигуры ее штриховка, заливка и контур могут быть легко изменены.

В следующих шести примерах применяются на практике многие методики, которые были рассмотрены в этой книге, — особенно те, которые были рассмотрены в этой главе. Обращайте пристальное внимание на многочисленные комментарии; они помогут вам понять код.

В листинге 25.1 представлен класс BasicShape — класс абстрактного типа, который определяет базовую функциональность для всех фигур в нашей библиотеке классов. Его основные возможности реализуются с помощью следующих методов:

? setStrokeStyle ( ) и setFillStyle ( ) — сохраняют визуальные характеристики фигуры;

? draw ( ) — отображает фигуру, но делегирует конкретное рисование линий методу drawShape ( ) (абстрактному методу, реализуемому всеми подклассами);

? setChanged( ), clearChanged ( ) и hasChanged*( ) — позволяют отслеживать, изменились ли параметры фигуры с момента ее последнего отображения на экране;

? requestDraw( ), addedListener ( ), removedListener ( ), а также renderListener ( ) — в сочетании эти методы определяют момент, когда необходимо перерисовать фигуру.

Листинг 25.1. Класс BasicShape

package org. moock. drawing { import flash. display.*; import flash. events.*; import f 1 ash. errors.111egalOperationError;

// Базовый класс для отображаемых геометрических фигур public class BasicShape extends Shape { // Стиль заливки

protected var fill Col or.-Number = OxFFFFFF; protected var fill Alpha.-Number = 1;

// Стиль линий. Используются скошенные соединения вместо закругленных // (настройка по умолчанию в языке ActionScript). Все остальные // первоначальные настройки совпадают с настройками по умолчанию языка // ActionScript.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

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

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 110
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 068
  • 29.02.2012">На сервисе микроблогов Futubra появился поиск
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 029
  • 14.07.2011">Как скачать музыку из контакта
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 048
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.3
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 057
  • 05.11.2012">Gmail стал самым популярным почтовым сервисом в мире
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 031
  • 25.10.2011">Прозрачные батарейки – скорое будущее
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 139
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.53
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 067
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 103
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...