首页 > 解决方案 > 未显示 SFML C++ 的纹理

问题描述

我正在尝试编写一个非常简单的纸牌配对游戏。我在带有通用卡片背面图片的矢量中加载了卡片。然后,在鼠标单击释放时,它会检查单击的位置并在向量中找到具有该位置的卡片。我想点击卡片然后显示另一张图片。似乎无法在点击时显示图片,但原始通用卡片背面图片确实显示在卡片上。

sf::Texture pic1;
if (card.picture == 0) {
     if (!pic1.loadFromFile("dog.jpg")) {
        // error...
        cout << "can't load dog.jpg" << endl;
    }
} else if (card.picture == 1) {
    if (!pic1.loadFromFile("cat.jpg")) {
        // error...
        cout << "can't load cat.jpg" << endl;
    }
}

这就是纹理的制作方式。然后我尝试将其应用于当前卡。

sf::Sprite temp;
temp.setTexture(pic1);
card.setTexture(temp); // this function just does texture = spriteTexture;

似乎什么都没有改变。有什么建议么?

标签: c++sfml

解决方案


推荐阅读