Шрифт:
Методы
В классе GameCanvas поддерживаются следующие методы:
► Graphics getGraphics – получает объект Graphics для рисования на игровой схеме;
► void flushGraphics – обнуляет буфер экрана и позволяет отобразить графические объекты на экране телефона;
► void flushGraphics(int x, int y, int width, int height) – обнуляет отдельную область буфера экрана и позволяет отобразить графические объекты в данной области;
► int getKeyStates – считывает состояние клавиш игры (для определения состояния каждой клавиши используются константы, являющиеся масками бита);
► void paint(Graphics g) – рисует схему игры.
Для поддержки графики с двойной буферизацией в мобильной игре вам достаточно нарисовать графический объект, считанный с помощью функции getGraphics, а затем отобразить данный объект на экране, используя функцию flushGraphics.
Класс Layer
Класс Layer представляет в мобильной игре общий графический объект; он является базовым классом для таких классов, как Sprite и TiledLayer. Несмотря на то что вы напрямую не создаете объекты Layer, вам необходимо регулярно применять методы класса Layer во время работы со спрайтами и вложенными классами.
Методы
В классе Layer поддерживаются следующие методы:
► int getX – считывает положение верхнего левого угла слоя по оси X относительно системы координат объекта (canvas или layer manager);
► int getY – считывает положение верхнего левого угла слоя по оси Y относительно системы координат объекта (canvas или layer manager);
► int getWidth – считывает ширину слоя (в пикселях);
► int getHeight – считывает высоту слоя (в пикселях);
► void setPosition(int x, int y – считывает положение верхнего левого угла слоя по осям X и Y относительно системы координат объекта (canvas или layer manager);
► void move(int dx, int dy) – изменяет положение слоя по осям X и Y на указанное значение по горизонтали и вертикали (в пикселях);
► 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 и позволяют вам создавать в спрайте различные эффекты, связанные с вращением и зеркальным отображением.