Итак, начнем. Первым делом скачаем его, извлекем из него файл golden_x_x_x.jar. Его нужно добавить в нашу IDE. После этого мы можем писать игры на данном движке. Создайте класс Main и скопируйте этот код: Code
import java.awt.*; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.util.Random;
import com.golden.gamedev.*; import com.golden.gamedev.object.*; import com.golden.gamedev.object.background.*;
public class Main extends Game { public void initResources() { }
public void update(long elapsedTime) { }
public void render(Graphics2D g) { }
public static void main(String[] args) { GameLoader game = new GameLoader(); game.setup(new Main(), new Dimension(640,480), false); game.start(); }
}
Разберем код по частям: Code
import java.awt.*; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.util.Random;
import com.golden.gamedev.*; import com.golden.gamedev.object.*; import com.golden.gamedev.object.background.*;
Тут мы импортируем нужные пакеты. Code
public void update(long elapsedTime) { pf.update(elapsedTime); if (keyDown(KeyEvent.VK_W)) { spr_player.moveY(-3); } if (keyDown(KeyEvent.VK_S)) { spr_player.moveY(+3); } if (keyDown(KeyEvent.VK_A)) { spr_player.moveX(-3); } if (keyDown(KeyEvent.VK_D)) { spr_player.moveX(+3); } }
public void render(Graphics2D g) { pf.render(g); }
Тут мы задаем 3 метода(функции) для игры - получение ресурсов, функция которая будет выполнятся всегда и рендер графики на экране. Code
public static void main(String[] args) { GameLoader game = new GameLoader(); game.setup(new Main(), new Dimension(640,480), false); game.start(); }
Тут мы создаем экземпляр класса GameLoader для загрузки игры, ставим разрешение и выбираем полный экран или нет. Теперь мы создадим объект PlayField, в нем будут находиться спрайты и бекграунды. Добавляем этот код в начало класса(вне функций): Теперь допишем наши три первые функции чтоб они выглядели так: Code
public void initResources() { pf = new PlayField(); }
public void update(long elapsedTime) { pf.update(elapsedTime); }
public void render(Graphics2D g) { pf.render(g); }
Давайте теперь загрузим спрайт для игры и сделаем управление. Скачиваем любой спрайт, например такой: Теперь создаем группу спрайтов, для удобного управления ими(писать в начало класса): Code
SpriteGroup grp_player;
Определим нашу группу(пишем в первую функцию): Code
grp_player = new SpriteGroup("Player Sprite Group");
Объявим картинку :D(в начало класса): Code
BufferedImage img_player;
Определим картинку(в первую функцию): Code
img_player = getImage("plane1.png");
Наконец то создадим спрайт(пишем в начала класса, потом в первую функцию соответственно): Code
spr_player = new Sprite(img_player, 100,100); grp_player.add(spr_player); pf.addGroup(grp_player);
Можете запускать. Вы увидите вашу картинку на экране, внизу будет написан FPS. Сделаем движение и хватит на сегодня(во вторую функцию): Code
if (keyDown(KeyEvent.VK_W)) { spr_player.moveY(-3); } if (keyDown(KeyEvent.VK_S)) { spr_player.moveY(+3); } if (keyDown(KeyEvent.VK_A)) { spr_player.moveX(-3); } if (keyDown(KeyEvent.VK_D)) { spr_player.moveX(+3); }
И чуть не забыл, без бекграунда будет плохо :/, так что вот(в начало класса и в первую функцию соответственно): Code
BufferedImage img_back; ImageBackground back;
Code
img_back = getImage("fon.png"); back = new ImageBackground(img_back); pf.setBackground(back);
На этом все, удачи в создании игр. |