DEV Community

Luan Freitas
Luan Freitas

Posted on

2

EP 01 - Criando uma janela para nossa Game Engine

Introdução

Hoje vamos começar a construir nosso motor de jogos, o famoso GAME ENGINE, esse motor de jogos é o responsável por desenhar e processar todos os objetos do nosso jogo em tempo de execução, vamos lá ?

Para nosso jogo começar a ter vida é necessário ter uma interface gráfica para mostrar os objetos do jogo, como jogadores, inimigos e tudo mais, então hoje vamos começar a dar vida para tudo isso.

Construindo a Janela

A primeira coisa que iremos implementar é uma Janela, que será responsável por mostrar o nosso jogo ao usuário, para isso vamos começar construindo uma classe Windows que herda a classe JFrame do java, que constroi uma janela no sistema operacional para nossa aplicação, com isso vamos definir no construtor entrada de parametros para receber a largura e altura que essa janela deverá ter durante a execução.

public class Windows extends JFrame {

    private String mNome;
    private int mLargura;
    private int mAltura;
    private boolean mExecutando;

public Windows(String eNome, int eLargura, int eAltura) {
        mNome = eNome;
        mLargura = eLargura;
        mAltura = eAltura;
        mExecutando = false;
        this.setSize(mLargura, mAltura);
        this.setTitle(mNome);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
    }
 }
Enter fullscreen mode Exit fullscreen mode

Criando a Thread de Execução

Agora que temos uma janela para exibir coisas na tela, vamos implementar uma thread que será responsável por ficar chamando nosso laço de repetição de eventos infinitamente, o famoso GAME LOOP, que será implementado em mais detalhes no próximo artigo.
Para construir a estrutura de uma thread, vamos implementar a classe abstrata Runnable em nossa janela e construir o método run() para executar nosso game loop.

public class Windows extends JFrame implements Runnable {
    @Override
    public void run() {

    }
}
Enter fullscreen mode Exit fullscreen mode

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay