-1
所以,我在C++中使用SFML製作遊戲,但是當我嘗試添加一個圖像時,出現了一個非常奇怪的OpenGL(我認爲)錯誤。根本沒有任何意義。 首先我的控制檯與隨機文字和符號的垃圾郵件,然後應用程序崩潰和Visual Studio告訴我:運行我的SFML遊戲時出現奇怪的錯誤?
Exception thrown at 0x618EDBF4 (vcruntime140.dll) in SFML_Game.exe: 0xC0000005: Access violation reading location 0x00C54000.
這聽起來像它有事情做與不能夠閱讀我說我的圖片文件,儘管我不知道與它有什麼不同。 圖像的位置是在同一個文件夾我的「SFML_Game.vcxproj」是。
我也沒有機會看到「無法加載播放器圖像」是否在控制檯中打印,因爲垃圾郵件太快。
編輯我可以看到,畫面未能立即加載,這裏有一個圖片...:
這裏是我當前的代碼:
#include<iostream>
#include<SFML/Graphics.hpp>
#include <string>
int main(int argc, char* argv[])
{
// Creates a window
sf::RenderWindow Window(sf::VideoMode(800, 600), "SFML Game Engine");
sf::Texture pTexture;
sf::Sprite playerImage;
if (!pTexture.loadFromFile("Player.png"))
{
std::cout << "Could not load player image" << std::endl;
}
playerImage.setTexture(pTexture);
while (Window.isOpen())
{
sf::Event Event;
while (Window.pollEvent(Event) && Window.hasFocus())
{
switch (Event.type)
{
case sf::Event::Closed:
Window.close();
break;
}
}
Window.draw(playerImage);
Window.display();
}
}
您測試了紋理是否無法加載,但繼續工作...您應該以更好的方式處理該錯誤。 –
該文件的位置應該是應用程序的*工作目錄*。默認情況下,VS將其設置爲生成的.exe所在的目錄。您可以在「調試」下的項目選項中進行設置。 – molbdnilo
@molbdnilo將它添加到exe文件所在的Debug文件夾中。它由於某種原因仍然無法加載圖像。 – BiiX