► boolean isVisible() – считывает видимость слоя;
► void setVisible(boolean visible) – настраивает видимость слоя;
► abstract void paint(Graphics g) – рисует слой при условии, что он видимый.
Эти методы обеспечивают доступ к таким стандартным параметрам слоя, как положение по осям X и Y, ширина, высота и видимость. Помните о том, что данные методы поддерживаются и классами Sprite, и TiledLayer (так как они происходят от класса Layer).
Класс 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() – настраивает текущий кадр спрайта на следующий кадр в анимационной последовательности;
► void prevFrame() – настраивает текущий кадр спрайта на предыдущий кадр в анимационной последовательности;
► int getFrame() – считывает индекс текущего кадра спрайта в последовательности кадров;
► void setFrame(int sequenceIndex) – настраивает текущий кадр спрайта в анимационной последовательности на определенный индекс кадра;
► int getFrameSequenceLength() – считывает количество кадров в анимационной последовательности;
► int getRawFrameCount() – считывает количество анимационных кадров для спрайта, указанное в изображении спрайта;
► void setImage(Image img, int frameWidth, int frameHeight) – задает для спрайта определенное изображение;
► boolean collidesWith(Image image, int x, int y, boolean pixelLevel) – проверяет наличие конфликта между спрайтом и изображением в определенном положении по осям X и Y (последний параметр указывает, должен ли этот конфликт быть пиксельным или основанным на конфликте прямоугольника);
► boolean collidesWith(Sprite s, boolean pixelLevel) – проверяет наличие конфликта между двумя спрайтами (второй параметр указывает, должен ли этот конфликт быть пиксельным или основанным на конфликте прямоугольника);
Читать дальше
Конец ознакомительного отрывка
Купить книгу