Решено C ++ окно sfml закрыто без причины - PullRequest
0 голосов
/ 25 апреля 2020

Я новичок в создании игровых движков в целом. моя проблема в том, что мое окно внутри игрового класса не работает так, как должно безо всякой видимой причины. Это мой код: consoleapplicaion. cpp:

#include <iostream>
#include "headers/Game.h"


int main()
{

Game game = Game();

return 0;

}

Game.h:

#pragma once
#include <iostream>
#include <SFML/Graphics.hpp>

class Game
{
private:
sf::RenderWindow *m_window = new sf::RenderWindow;

public:

Game();
~Game();

void Run();

void Start();
void Update();
void Render();

};

Game. cpp

#include "headers/Game.h"

Game::Game()
{
m_window->create(sf::VideoMode(800, 500), "Test...");
Run();
}

Game::~Game()
{
delete m_window;
}

void Game::Run()
{
Start();

while (m_window->isOpen())
{
    sf::Event event;

    while (m_window->pollEvent(event))
    {
        if (event.type == sf::Event::Closed)
            m_window->close();
    }

    Update();
    Render();       
}
}

void Game::Start()
{}

void Game::Update()
{}

void Game::Render()
{
this->m_window->close();
this->m_window->display();
}

, когда я запускаю программу, окно появляется и исчезает очень быстро, как если бы m_window-> isOpen () был изменен на false, но я не t действительно понимаю, почему?

любая помощь будет высоко ценится

...