我正在尝试使用先前定义的类LTexture的对象作为第一个输入参数来定义loadMedia函数。第二个输入参数是文件路径的字符串。
bool loadMedia(LTexture textureName, std::string path)
{
//Loading success flag
bool success = true;
//Load texture
if ( !textureName.loadFromFile(path.c_str()) )
{
printf("Failed to load texture!\n");
success = false;
}
return success;
}
然后在我的主循环中:
//Load media
if (!loadMedia(mainCharTex,"dot.bmp") | !loadMedia(Enemy1Tex,"dot.bmp"))
{
printf("Failed to load media!\n");
}
else
{
然而,当我运行程序时,纹理没有被加载。如果我输入其中一个纹理对象(例如,mainCharTex),其中textureName在loadMedia函数中,则纹理成功加载。从这看起来第一个输入参数似乎没有正确实现。有什么建议吗?
答案 0 :(得分:1)
也许您需要通过引用传递textureName
,以便您可以在函数内部更改它并仍然可以在main中进行更改:
bool loadMedia(LTexture& textureName, std::string path)
^