我有這個惱人的問題,當我在其中一個類中創建SDL_renderer時,它變成了nullptr,但在另一個類中創建另一個類時,它通常會正常工作。SDL_renderer在創建時變爲空
在我的引擎類創建渲染器,運行正常:
m_window = SDL_CreateWindow("Breakout",
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
m_window_width, m_window_height,
SDL_WINDOW_OPENGL);
m_renderer = SDL_CreateRenderer(m_window, -1,
SDL_RENDERER_ACCELERATED);
創建我DrawManager一流的渲染,渲染成爲一個nullptr:
bool DrawManager::Initialize(SDL_Window *window, int width, int height) {
m_renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
if(m_renderer == nullptr) {
return false;
};
return true;
};
的m_renderer變量在每類中創建相應的頭文件。
在Engine類中創建的窗口被髮送到DrawManager的Initialize方法中,並且該窗口不是nullptr,只有呈現器是。兩個類都有相同的SDL相關包含。
任何人有任何想法有什麼問題的代碼?
感謝您的意見。我最終發送了原始渲染器,因爲我對SDL並不熟悉,而且時間緊。 –