Компьютер + мобильник: эффективное взаимодействие
Шрифт:
• void drawArc(int х, int у, int width, int height, int startAngle, int arcAngle) – рисует дугу эллипса:
– x – координата X левого верхнего угла прямоугольника, в который будет вписан эллипс;
– у – координата Y левого верхнего угла прямоугольника, в который будет вписан эллипс;
– width – ширина эллипса;
– height – высота эллипса;
– startAngle – начальный угол дуги;
– arcAngle – длина
• void drawLine(int x1, int y1, int x2, int y2) – рисует прямую линию:
– xl – координата Х начала линии;
– yl – координата Y начала линии;
– х2 – координата Х конца линии;
– у2 – координата Y конца линии.
• void drawRect(int х, int у, int width, int height) – рисует прямоугольник:
– x – координата Х левого верхнего угла прямоугольника;
– у – координата Y левого верхнего угла прямоугольника;
– width – ширина прямоугольника;
– height – высота прямоугольника.
• void drawRoundRect(int х, int у, int width, int height, int arcWidth, int arcHeight) – рисует прямоугольник с закругленными углами:
– х – координата Х левого верхнего угла прямоугольника;
– у – координата Y левого верхнего угла прямоугольника;
– width – ширина прямоугольника;
– height – высота прямоугольника;
– arcWidth – ширина закругленного угла;
– arcHeight – высота закругленного угла.
• void drawString(String str, int x, int y, int anchor) – рисует строку:
– str – указатель на строку символов;
– х – координата Х левого верхнего угла строки;
– у – координата Y левого верхнего угла строки;
– anchor – тип выравнивания строки.
• void fillArc(int х, int у, int width, int height, int startAngle, int arcAngle) – рисует залитый сектор эллипса (описание параметров см. для drawArc ).
• void fillRect(int х, int у, int width, int height) – рисует залитый прямоугольник (описание параметров см. для drawRect ).
• void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) – рисует залитый прямоугольник с закругленными углами (описание соответствующих параметров см. для drawRoundRect ).
• void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3) – рисует залитый треугольник:
– x1, х2, хЗ – координаты Х первой, второй и третьей вершины треугольника соответственно;
– y1, у2, уЗ –
координаты Y первой, второй и третьей вершины треугольника соответственно.• int getColor – получает текущий цвет в формате RGB.
• void setColor(int red, int green, int blue) – устанавливает текущий цвет в формате RGB:
– red – интенсивность красного цвета (0-255);
– green – интенсивность зеленого цвета (0-255);
– blue – интенсивность синего цвета (0-255).
Инструментов очень много, и подробное их рассмотрение выходит за рамки этой книги, но, поняв принцип рисования, все, что вам нужно будет, – это обратиться к соответствующей документации.
Создадим код класса GameCanvas. Как уже упоминалось выше, код каждого класса должен находиться в отдельном файле. Так что найдите папку src нашего проекта и создайте там файл GameCanv.java.
Теперь откройте файл с помощью текстового редактора и введите базовый код класса (листинг 6.4).
Листинг 6.4. Базовый код класса
Этот класс пока ничего «не умеет». Для начала нужно создать переменную для хранения объекта Graphics, с помощью которой будет производиться рисование. Затем нужно этот самый объект получить, лучше всего это сделать в конструкторе.
Теперь немного модифицируем метод paint и добавим в него код заливки экрана определенным цветом.
В результате код нашего класса примет вид, представленный в листинге 6.5.
Листинг 6.5. Код заливки экрана определенным цветом
Итак, «холст» объявлен и обучен нехитрым действиям. Теперь нам нужно отобразить его на экране. Для этого доработаем главный класс нашего приложения. Новый код вы можете видеть в листинге 6.6.
Листинг 6.6. Отображение «холста» на экране
Теперь скомпилируйте и запустите приложение. После того как вы нажмете кнопку Launch (Запуск), экран окрасится в серый цвет.
Вы можете поэкспериментировать со значениями параметров метода setColor. Таким образом вы сможете менять цвет заливки экрана. Только помните, что значение каждого параметра должно находиться в пределах от 0 до 255, иначе вы получите ошибку компиляции.
Доработаем метод paint класса GameCanv и добавим на экран немного фигур. Новый код метода вы можете видеть в листинге 6.7.
Листинг 6.7. Добавление фигур