Компьютер + мобильник: эффективное взаимодействие
Шрифт:
Проверим, как программа работает. Нажмите кнопку Run (Исполнить), расположенную в верхней части окна. На экране появится эмулятор мобильного телефона (рис. 6.24).
Как видите, в качестве названия программы отображается MyProject, о чем уже упоминалось ранее.
Чтобы запустить программу, нажмите кнопку Launch (Запуск) на эмуляторе. Поскольку программа не выполняет никаких операций с экраном, то на экране эмулятора вы не увидите изменений, но в консоли будет выведено Вход, что свидетельствует о том, что программа все-таки корректно
Итак, «скелет» приложения можно считать готовым. Однако до сих пор наши творения хоть и работали, но ничего не выводили на экран. Это нужно исправить.
Для начала немного теории. Дело в том, что само приложение, то есть класс MIDlet, рисовать не умеет. Для отображения графики существует специальный класс Canvas, а также его усовершенствованная версия – класс GameCanvas.
Рис. 6.24. Окно эмулятора телефона.
Рис. 6.25. Консоль вывода WTK.
Само слово «canvas» можно перевести с английского как «холст». Из этого следует, что класс Canvas предназначен для работы с графическими объектами, но не только. Он является базовым при разработке приложений, требующих низкоуровневой работы с экраном (то есть рисования), обработки нажатий клавиш (без этого в играх никуда), работы с джойстиком (если таковой имеется), а также для других полезных возможностей.
Его наследник, класс GameCanvas, умеет немного больше. В добавление к стандартным возможностям он умеет проверять состояние клавиш, поддерживает двойную буферизацию изображений (что значительно улучшает качество анимации) и др. Как видите, GameCanvas имеет больше возможностей, поэтому с ним мы и будем работать. Ниже приведены описания основных его методов.
• int getHeight – возвращает высоту экрана в пикселах.
• int getwidth – возвращает ширину экрана в пикселах.
• void paint(Graphics g) – этот метод должен содержать код, отвечающий за рисование. Graphics – объект класса Graphics, с помощью которого будет производиться рисование.
• Graphics getGraphics – получает объект, с помощью которого и будет осуществляться рисование на экране.
• void flushGraphics – отображает содержимое
• void keyPressed(int keyCode) – этот метод вызывается, если была нажата какая-либо клавиша. keyCode – содержит код нажатой клавиши.
• void keyReleased (int keyCode) – метод вызывается, если какая-либо клавиша была отпущена. keyCode – содержит код нажатой клавиши.
С остальными методами вы познакомитесь в дальнейшем, в процессе написания программ.
Почти все готово, однако есть одно «но». Как уже упоминалось, класс Canvas является лишь холстом, а ведь для рисования нужен не только холст – очень пригодятся «кисти» и «краски». Инструменты для рисования содержатся в классе Graphics. Ниже представлено несколько его методов.
• 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 – указатель на строку символов;
Меняя маски
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
рейтинг книги
![Меняя маски](https://style.bubooker.vip/templ/izobr/no_img2.png)