×
Traktatov.net » Создание игр для мобильных телефонов » Читать онлайн
Страница 235 из 246 Настройки

Класс Sprite

Модели класса Sprite являются двухмерными спрайтами, которые могут перемещаться и изменять параметры анимации одновременно. Спрайт перемещается путем изменения положения по осям X и Y, а изменение его внешнего вида достигается с помощью группы анимационных кадров, которые входят в состав изображения спрайта. Все анимационные кадры имеют одинаковые размеры, а кадры располагаются в изображении по порядку. По умолчанию спрайт содержит последовательность анимации, в которой анимационные кадры располагаются так же, как и на изображении. Чтобы создать уникальные эффекты анимации для спрайта, вы можете настроить анимационную последовательность любым способом.

Также вы можете трансформировать спрайты, то есть вращать и/или зеркально отображать их, чтобы уменьшить количество необходимых изображений. Кроме того, спрайты содержат пиксель ссылки (reference pixel), который является координатой по осям X и Y спрайта. Вы можете использовать этот пиксель для ссылки на спрайт (вместо левого верхнего угла спрайта, использующегося для ссылки по умолчанию). Действия и трансформации спрайта связаны с пикселем ссылки, что, в свою очередь, упрощает осмысленное управление спрайтом.

Member Constants

В классе Sprite заданы следующие константы, которые используются для идентификации трансформаций, применимых к спрайту:

► TRANS_NONE – спрайт никак не трансформируется;

► TRANS_ROT90 – спрайт вращается по часовой стрелке на 90 градусов;

► TRANS_ROT180 – спрайт вращается по часовой стрелке на 180 градусов;

► TRANS_ROT270 – спрайт вращается по часовой стрелке на 270 градусов;

► TRANS_MIRROR – спрайт наклоняется по вертикальной оси;

► TRANS_MIRROR_ROT90 – спрайт наклоняется по вертикальной оси и поворачивается по часовой стрелке на 90 градусов;

► TRANS_MIRROR_ROT180 – спрайт наклоняется по вертикальной оси и поворачивается по часовой стрелке на 180 градусов;

► TRANS_MIRROR_ROT270 – спрайт наклоняется по вертикальной оси и поворачивается по часовой стрелке на 270 градусов.

Эти константы трансформации применяются посредством методы setTransform() и позволяют вам создавать в спрайте различные эффекты, связанные с вращением и зеркальным отображением.

Конструкторы

Для создания спрайтов в классе Sprite поддерживаются следующие конструкторы:

► Sprite(Image image) – создает основанный на изображении, не содержащий анимации спрайт;

► Sprite(Image image, int frameWidth, int frameHeight) – создает анимированный спрайт, основанный на изображении. Данный спрайт содержит кадры анимации (размер и количество кадров определяется заданной шириной и высотой кадра);

► Sprite(Sprite s) – создает один спрайт из другого.

Первые два конструктора позволяют вам создавать неанимированные и анимированные спрайты, соответственно, а третий конструктор используется только для копирования спрайта.

Методы

В классе Sprite поддерживаются следующие методы:

► void setFrameSequence(int[] sequence) – задает последовательность анимационных кадров для спрайта;

► void nextFrame() – настраивает текущий кадр спрайта на следующий кадр в анимационной последовательности;