Sie können einen Container aus der Standardbibliothek verwenden, der einfachste ist der std::vector<>
. sf::Texture
Objekte sind schwere Objekte, die nicht unnötig kopiert werden sollten. Sie sollten sie an einem Ort und nur Referenz sie bei Bedarf aufbewahren.
std::vector<sf::Sprite*> sprites;
std::vector<sf::Texture*> textures;
void CreateTile(const std::string& file, const sf::Vector2f& position)
{
sf::Texture* texture = new sf::Texture();
texture->loadFromFile(file);
textures->push_back(texture);
sf::Sprite* tile = new sf::Sprite();
tile->setTexture(*texture);
tile->setPosition(position);
sprites->push_back(tile);
}
Und diese sollen moderne C++ sein, sollten Sie nicht Verwendung roh Zeiger wie oben. Verwenden Sie Smart Zeiger wie std::shared_ptr
.
Warnung: Die Lösung wird nicht nur diesen Code kopieren und hoffen, dass es irgendwie funktioniert. Holen Sie sich ein gutes Buch über die Grundlagen von C++ und lesen Sie es von Anfang bis Ende. Es gibt keine Abkürzungen. Sie müssen die Sprache lernen, wenn Sie ein Spiel programmieren möchten.
Suche nach 'std :: vector'. – nwp
Warum machst du ein Spiel, wenn du die Grundlagen von C++ nicht beherrschst? – DeiDei
http://en.cppreference.com/w/cpp/container – domsson