Как исправить этот идентификатор textureBackground в Visual Studio 2017 с использованием C ++ - PullRequest
0 голосов
/ 15 февраля 2019

У меня возникла проблема при попытке объявить идентификатор.Основная часть - textureBackground.loadFromFile ("graphics / background.png");где textureBackground - это подчеркнутый

Я попытался добавить скобки, изменить верхний регистр, нижний регистр, проверить расположение файлов и т. д.

int main()
{
    //Create a video mode object
    VideoMode vm(1920, 1080);

    // Create and open a window for game
    RenderWindow window(vm, "Scarful!!!", Style::Fullscreen);
    while (window.isOpen())

        // Texture for graphic on cpu
        Texture textureBackground;

        // Load graphic into texture
         textureBackground.loadFromFile("graphics/background.png");

        // Make Sprite
        Sprite spriteBackground;

        // Attach texture to sprite
        spriteBackground.setTexture(textureBackground);

        // Set spritebackground to cover screen
        spriteBackground.setPosition(0, 0);
    {
        /* Handle player input */

        if (Keyboard::isKeyPressed(Keyboard::Escape))
        {
            window.close();

        }

        //Update Scene


        //Draw Scene
        window.clear();
        //Draw Game Scene
        window.draw(spriteBackground);

        //Show everything we drew
        window.display();
    }
    return 0;
}

1 Ответ

0 голосов
/ 15 февраля 2019

Здесь,

while (window.isOpen())
    // Texture for graphic on cpu
    Texture textureBackground;
// Load graphic into texture
textureBackground.loadFromFile("graphics/background.png");

Вы пытаетесь сделать это:

while (window.isOpen()) {
    // Variable goes out of scope outside of the loop...
    Texture textureBackground;
}
   textureBackground.loadFromFile("graphics/background.png");
// ^^^^^^^^^^^^^^^^^ is not available anymore...

И поскольку textureBackground выходит за рамки, вы больше не можете его изменять ... Iпредположить, что вы хотели ...

// Texture for graphic on cpu
Texture textureBackground;

// Load graphic into texture
textureBackground.loadFromFile("graphics/background.png");

// Make Sprite
Sprite spriteBackground;

// Attach texture to sprite
spriteBackground.setTexture(textureBackground);

// Set spritebackground to cover screen
spriteBackground.setPosition(0, 0);

while (window.isOpen()) {
    // Other code goes here...
}
...