我有一个包含与精灵关联的字符串的地图。此函数用于返回要在屏幕上绘制的精灵。这是功能:
sf::Sprite LoopSprite()
{
for (std::map<std::string,sf::Sprite>::iterator it=SpriteMap.begin(); it!=SpriteMap.end(); ++it)
{
return it->second;
}
}
我曾经将它们放在一个矢量中,这使得绘制循环变得容易,但我想使用一个地图来更容易识别以维护代码。上面的函数只允许从地图中绘制一张图像。这个功能有问题吗?
sf::Sprite LoopSprite(int element)
{
return vec[element];
}
正如所指出的,这是有效的,因为它需要一个元素,所以只有一个返回,但我想要相同的结果,除了地图。问题是发送 0-vec.size 很容易。我唯一的想法是拥有一个字符串向量以允许轻松循环。