Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по Java

  Все выпуски  

Уроки по Java


Информационный Канал Subscribe.Ru

Уроки по Java. Рассылки сайта progs.biz  
Начало > Java > Апплеты > Урок 19

Л. Томсон, Л. Веллинг Разработка Web-приложений на PHP и MySQL.
Л. Томсон, Л. Веллинг. Разработка Web-приложений на PHP и MySQL
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 19.

Java. Апплеты
Урок 19. Начинаем писать игру "Убей муху"

Этот и следующий уроки мы посвятим написанию простой игры - а именно на нашем апплете будет появляться изображение мухи, которое будет менять свое положение сначала раз в секунду. Игрок должен попасть по изображению мышкой. Если попал, то, во-первых, начисляется одно очко и, во-вторых, муха начинает менять свое положение в два раза чаще (2 раза в секунду после первого попадания, 4 раза в секунду после второго и т. д.).

Начинаем писать. Вот код этого урока:

import java.awt.*;
import java.applet.*;

// Основной класс апплета.
public class KillFly
    extends Applet
    implements Runnable{
  // Поток.
  Thread t;
  // Координаты мыши.
  int x, y;
  // Два изображения мыши.
  Image img, img2;
  // Частота перемещения мухи.
  int period = 1000;
  //Число очков.
  int points = 0;
  // Номер показываемой картинки.
  int imgNumber = 0;
  //Реализуем метод интерфейса Runnable.
  public void run() {
    while (true) {
      try {
        // Меняем случайным образом координаты мыши.
        x = (int) (Math.random() * 400);
        y = (int) (Math.random() * 300);
        //Вызываем перерисовку.
        repaint();
        t.sleep(period);
      }
      catch (InterruptedException e) {
      }
    }
  }

  // Инициализация апплета.
  public void init() {
    img = getImage(getDocumentBase(), "1.jpg");
    img2 = getImage(getDocumentBase(), "2.jpg");
    t = new Thread(this);
    t.start();
  }

  // Перерисовка.
  public void paint(Graphics g) {
    // Выбираем картинку.
    if (imgNumber == 0) {
      g.drawImage(img, x - 50, y - 50, this);
    }
    else {
      g.drawImage(img2, x - 50, y - 50, this);
    }
    // Выводим очки.
    g.drawString("Points :" + points, 20, 20);
  }
}

Как вы видите, анимацию мы получаем через наследование нашего класса от интерфейса Runnable (подробности см. в уроке 8). Для реализации этого интерфейса мы добавляем в наш класс метод run. Внутри этого метода мы запускаем бесконеный цикл, внутри которого мы получаем новое случайное мето для нашей мухи и вызываем перерисовку.

После запуска наш апплет будет показывать муху, раз в секунду меняющую свое положение. Код, нужный для того, чтобы муха реагировала на щелчки мыши, мы добавим в следующем уроке.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
2002-2004 сайт progs.biz
2002-2004 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.javalessons
Отписаться

В избранное