Niedawno zacząłem zbierać C++ i bibliotekę SFML i zastanawiałem się, czy zdefiniowałem Sprite na pliku o nazwie "player.cpp", jak nazwałbym go w mojej głównej pętli znajdującej się w "main.cpp "?Jak wywołać funkcję znalezioną w innym pliku?
Oto mój kod (należy pamiętać, że jest to SFML 2.0, a nie 1.6!).
main.cpp
#include "stdafx.h"
#include <SFML/Graphics.hpp>
#include "player.cpp"
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "Skylords - Alpha v1");
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw();
window.display();
}
return 0;
}
player.cpp
#include "stdafx.h"
#include <SFML/Graphics.hpp>
int playerSprite(){
sf::Texture Texture;
if(!Texture.loadFromFile("player.png")){
return 1;
}
sf::Sprite Sprite;
Sprite.setTexture(Texture);
return 0;
}
Jak gdzie Potrzebuję pomocy jest w "main.cpp", gdzie mówi window.draw(); w moim kodzie losowania. W tym nawiasie powinna pojawić się nazwa Sprite, którą chcę załadować na ekran. O ile szukałem i próbowałem zgadywać. Nie udało mi się sprawić, by funkcja rysowania działała z moim ikonką na drugim pliku. Czuję, że brakuje mi czegoś dużego i bardzo oczywistego (w obu plikach), ale z drugiej strony każdy profesjonalista był kiedyś nowy.
Dobrze, proszę pana, jesteś blisko uratowania mojego tyłka. Zawsze słyszałem o tych przeklętych plikach nagłówkowych, ale nigdy tak naprawdę nie zaglądałem do nich, są one dość ważne, prawda? Ale oto inne pytanie, kiedy już to zrobiłem i zaimportowałem je do "main.cpp", jak wyglądałby mój plik "main.cpp" w obszarze window.draw, jak by to poszło? – Safixk
@Safixk Tak. Kiedy twój kod zacznie się powiększać, stają się niezwykle ważne. Proponuję utworzyć pliki nagłówkowe, jeśli masz więcej niż plik cpp –
W porządku, wypróbuj swój nowy kod, który właśnie wysłałeś, sprawdź ponownie w 5 – Safixk