Knigionline.co » Компьютеры » Создание игр для мобильных телефонов

Создание игр для мобильных телефонов - Моррисон Майкл

Создание игр для мобильных телефонов
  • Название:
    Создание игр для мобильных телефонов
  • Автор:
  • Жанр:
  • Язык:
    Русский
  • Издательство:
    ДМК Пресс
  • Страниц:
    54
  • Рейтинг:
    0 (0 голос)
  • Ваша оценка:
Данная книга «Создание игр для мобильных телефонов» – это практическое руководство, при помощи которого вы самостоятельно сможете разработать, а затем и реализовать игру, предназначенную для мобильного телефона.

Создание игр для мобильных телефонов - Моррисон Майкл читать онлайн бесплатно полную версию книги

Основные действия выполняются в методе paint() класса SSCanvas, который выводит текущее изображение слайд-шоу и подпись на экран. Ниже приведен код метода paint():

public void paint(Graphics g) {

// очистить экран

g.setColor(255, 255, 255); // белый

g.fillRect(0, 0, getWidth(), getHeight());

// вывести текущее изображение

g.drawImage(slides[curSlide], getWidth() / 2, getHeight() / 2, //Текущее изображение выводится в центре экрана

Graphics.HCENTER | Graphics.VCENTER);

// настроить шрифт

Font f = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD,

Font.SIZE_MEDIUM);

g.setFont(f);

// вывести текущее изображение

g.setColor(0, 0, 0); // Черный //Текущая надпись центрирована и выводится вдоль верхней границы экрана

g.drawString(captions[curSlide], getWidth() / 2, 0,

Graphics.HCENTER | Graphics.TOP);

}

Метод paint() сначала очищает экран, тем самым удаляя то, что осталось от предыдущего слайда. Затем в центре экрана выводится текущее изображение. Далее выполняется настройка шрифта – полужирный, среднего размера, пропорциональный. Наконец, устанавливается черный цвет, и по центру у нижнего края экрана выводится текст.

Когда вывод графики завершен, последняя часть кода класса SSCanvas занимается обработкой пользовательского ввода. Нажимая клавиши со стрелками влево и вправо, пользователь может перелистывать слайды. Технически до главы 6 вы не научитесь обрабатывать ввод в играх, но здесь я познакомлю вас с основами. Ниже приведен код метода keyPressed():

public void keyPressed(int keyCode) {

// Get the game action from the key code

int action = getGameAction(keyCode);

// Process the left and right buttons

switch (action) {

case LEFT:

if (–curSlide < 0) //Перейти к последнему слайду, если первый уже показан

curSlide = slides.length – 1;

repaint();

break;

case RIGHT:

if (++curSlide >= slides.length) //Перейти к первому слайду, если последний уже показан

curSlide = 0;

repaint();

break;

}

}

Метод keyPressed() открывает новые горизонты программирования игровых мидлетов – обработку игровых событий. Игровое событие – это особое событие, которое ассоциировано с клавишами, обычно используемыми в играх. Смысл заключается в том, что вы можете привязать действия к определенным клавишам, чтобы настроить пользовательский интерфейс. В методе keyPressed() с помощью метода getGameAction() определяется игровое событие, ассоциированное с клавишами. Константы LEFT и RIGHT используются для описания нажатий клавиш со стрелками влево и вправо. Если значение action совпадает со значением одной из констант, то номер текущего слайда увеличивается или уменьшается, а затем отображается новый слайд.

Листинг 4.3. Так выглядит класс SSCanvas, который выполняет большую часть работы мидлета Slideshow. В листинге 4.3 приведен полный код этого класса:

import javax.microedition.lcdui.*;

import java.io.*;

public class SSCanvas extends Canvas {

private Display display;

private Image[] slides;

private String[] captions = { "Love Circle Bowl", "Double Wide Spine", //Индексы массива соответствуют изображениям

"Flume Zoom Over-vert", "Kulp De Sac Bowl",

"Louie's Ledge" };

private int curSlide = 0;

public SSCanvas(Display d) {

super();

display = d;

// загрузить изображения

try {

slides = new Image[5];

slides[0] = Image.createImage("/LoveCircle.jpg");

slides[1] = Image.createImage("/DoubleWide.jpg");

slides[2] = Image.createImage("/FlumeZoom.jpg");

slides[3] = Image.createImage("/KulpDeSac.jpg");

slides[4] = Image.createImage("/LouiesLedge.jpg");

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий