/ / Sprites jako zmienne globalne? - c ++, zmienne globalne, tekstury, sprite, sfml

Sprites jako zmienne globalne? - c ++, zmienne globalne, tekstury, sprite, sfml

Zastanawiałem się tylko, czy mógłbyś się ustawić teksturowane duchy tak jak zmienne globalne za pomocą SFML 2.0. Muszę narysować duszek na ekranie za pomocąfunkcja inna niż funkcja int main (). Nie mogę jednak zadeklarować i zdefiniować tekstur i ikonek poza funkcją. Oto przykładowy kod podobny do tego, który miałem:

#include <SFML/Graphics.hpp>

sf::Sprite spritename;
sf::Texture texturename;

texturename.loadFromFile("texture.png");
spritename.setTexture(texturename);

int main()
{
//code here
}

Kompilator powie jednak, że nazwa tekstury w linii 4, a nazwa pliku w linii 5 nie ma klasy pamięci ani specyfikatora typu.

Odpowiedzi:

1 dla odpowiedzi № 1

Zainicjuj zmienne globalne wewnątrz funkcji głównej. Nadal będziesz mieć do nich dostęp w innych funkcjach zdefiniowanych w tym cpp.

Prawdopodobnie nie chcesz, aby jako zmienne globalne, najlepiej przechowywać je gdzieś w zasięgu i odpowiednie, i przekazać je do innych funkcji, które wymagają ich użycia.

sf::Sprite spritename;
sf::Texture texturename;

int main()
{
texturename.loadFromFile("texture.png");
spritename.setTexture(texturename);
}

0 dla odpowiedzi nr 2

Jeśli zainicjujesz zmienne globalne, możesz Sprites jako zmienne globalne.