Главная » Статьи » Игры на java

Первая игра на Java


Создаем игровое окно

 

package jgames1;

import javax.swing.*;

public class Main
{
    public static void main(String[] args)
    {
        JFrame f = new JFrame("JGames");// создаем окно с названием
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// закрытие окна при клике крестика
        f.setSize(1100,600); // размер окна
        f.setVisible(true);
// окно видимо

    }
}

#######################################################################

                 Создаем класс Дорога  помещаем на панель и добавляем в фрейм.

package jgames1;


import javax.swing.*;

/**
 * Created by nikelen on 2017-01-29.
 */

public class Main
{
 public static void main(String[] args)
 {
 JFrame f = new JFrame("JGames");// создаем окно с названием
 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// закрытие окна при клике крестика
 f.setSize(1100,600); // размер окна
 f.add(new Road());// добавляем в фрейм дорогу(класс)

 f.setVisible(true); // окно видимо

 }
}

-------------------------------------------------------------               ---------------------------------------------

package jgames1;

import javax.swing.*;
import java.awt.*;

/**
 * Created by nikelen on 2017-01-29.
 */
public class Road extends JPanel { // класс дорога наследует класс панель
 Image img = new ImageIcon("res/dor.jpg").getImage();//загрузка картинки дороги

 public void paint(Graphics g) { // метод перерисовывает панель
 g = (Graphics2D) g;// приведение типов(рисует Graphics2D)
 g.drawImage(img, 0, 0, null); //рисуем(что,где,...)
 }
}

###########################################################################

На дорогу установим машинку и переместим слой 1 дороги с скоростью по умолчанию 

package jgames1;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Created by nikelen on 2017-01-29.
 */
public class Road extends JPanel implements ActionListener { // класс дорога помещаем на панель

 Timer mainTimer = new Timer(20,this);// Таймер(класс) будет каждые 20мс запускать функцию actionPerformed(this)
 Image img = new ImageIcon("res/dor.jpg").getImage();//загрузка картинки дороги
 Player p = new Player();// инициализ класс плеер

 public Road(){// конструктор 
 mainTimer.start();// запуск Таймера

 }

 public void paint(Graphics g) { // метод перерисовывает панель
 g = (Graphics2D) g;// приведение типов(рисует Graphics2D)
 g.drawImage(img, p.layer1, 0, null); //рисуем(что,x-слой1 и у не изменяем,...)
 g.drawImage(p.img, p.x, p.y, null);//рисуем(для плеер метод имж,х-плеер и у-плеер,...)

 }
 public void actionPerformed(ActionEvent e){
 p.move(); //плеер перемещается
 repaint(); //перерисовывет всё
 }

}

-----------------------------------------------------            ----------------------------------------------------------

package jgames1;

import javax.swing.*;
import java.awt.*;

/**
 * Created by nikelen on 2017-01-29.
 */
public class Player {

 Image img = new ImageIcon("res/f_r1.jpg").getImage();//загрузка картинки

 int v = 4; // скорость
 int dv = 0; // ускорение
 int s = 0; //путь
 int x = 30; // нач координаты
 int y = 100;
 int layer1 = 0; // первый слой(дорога)

 public void move() { // метод движения
 s+= v; // путь увеличивается
 layer1 -= v;//слой уменьшается
 }
}

###################################################################

Зацикливаем перемещение картинки дороги

package jgames1;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Created by nikelen on 2017-01-29.
 */
public class Road extends JPanel implements ActionListener { // класс дорога помещаем на панель

 Timer mainTimer = new Timer(20,this);// Таймер(класс) будет каждые 20мс запускать функцию actionPerformed(this)
 Image img = new ImageIcon("res/dor.jpg").getImage();//загрузка картинки дороги
 Player p = new Player();// инициализ класс плеер

 public Road(){// конструктор
 mainTimer.start();// запуск Таймера

 }

 public void paint(Graphics g) { // метод перерисовывает панель
 g = (Graphics2D) g;// приведение типов(рисует Graphics2D)
 g.drawImage(img, p.layer1, 0, null); //рисуем(что,x-слой1 и у не изменяем,...)
 g.drawImage(img, p.layer2, 0, null);
 g.drawImage(p.img, p.x, p.y, null);//рисуем(для плеер метод имж,х-плеер и у-плеер,...)

 }
 public void actionPerformed(ActionEvent e){
 p.move(); //плеер перемещается
 repaint(); //перерисовывет всё
 }

}

-------------------------------------------------------       -------------------------------------------------------

package jgames1;

import javax.swing.*;
import java.awt.*;

/**
 * Created by nikelen on 2017-01-29.
 */
public class Player {

 Image img = new ImageIcon("res/f_l1.png").getImage();//загрузка картинки

 int v = 4; // скорость
 int dv = 0; // ускорение
 int s = 0; //путь
 int x = 30; // нач координаты
 int y = 100;
 int layer1 = 0; // первый слой(дорога)
 int layer2 = 1200;// второй слой(дорога)

 public void move() { // метод движения
 s+= v; // путь увеличивается
 if (layer2 -v <= 0){
 layer1 = 0;
 layer2 = 1200;
 }
 else{
 layer1 -= v;//слой уменьшается
 layer2 -= v;
 }
 }
}

####################################################################

 

 

 

 

Категория: Игры на java | Добавил: kuzma (29.01.2017)
Просмотров: 1490 | Рейтинг: 3.5/2
Всего комментариев: 0
avatar

Программирование игр на Python

Django - создание сайтов с нуля

Javascript - просто используем готовые решения