Dev.log(0) – Zaczynamy!

Początki bywają ciężkie. Dzisiaj będzie miała miejsce jedna z najprostszych rzeczy jakie wykonamy na rzecz tego projektu. Na początek jednak, muszę przyznać się do maszyny na której będę pracował. Jest to MacBook Pro z 2015 roku działający pod kontrolą systemu macOS Sierra w wersji 10.12.3 (16D32). Używał będę najnowszej dostępnej wersji środowiska Xcode w wersji 8.2.1 (8C1002). Piszę to nie dlatego, że się żalę, ale dlatego, żeby każdy kto chce zacząć pisać ze mną zwrócił uwagę na różnice między oprogramowaniem używanym przeze mnie i przez niego. Skoro ta kwestia jest już ustalona to przejdźmy dalej.

Biblioteka SFML jest prosta, ale w trakcie prowadzenia tej serii postaram się wycisnąć z niej siódme poty. Jest ona przenośna co umożliwi nam uruchomienie finalnego projektu na Linuxie czy Windowsie. Dodatkowo należy pamiętać, że przy jej używaniu nie trzeba ograniczać się do języka C++. Biblioteka dostępna jest dla C#, Pythona, Go czy Javy (pełna lista dostępna tutaj).

Instalacja i konfiguracja środowiska

Na początku instalujemy Xcode z aplikacji App Store dostępnej w systemie macOS (bądź w przypadku starszych wersji – OS X). Dokładny proces instalacji dostępny jest na stronie SFML-a. Ja opiszę moją metodę instalacji.

Rozpoczynamy od pobrania biblioteki SFML ze strony producenta. Następnie przechodzimy do Terminala i za pomocą menadżera pakietów brew instalujemy wstępnie bibliotekę.

brew install sfml

 

 

Po pobraniu zobaczymy strukturę katalogów jak na screenshocie wyżej. Teraz z użyciem Terminala (najwygodniej) kopiujemy całą zawartość z katalogu Frameworks do katalogu /Library/Frameworks. Przykładowe polecenie:

sudo cp Frameworks/* /Library/Frameworks/

Następnym krokiem będzie skopiowanie do tego samego katalogu zawartości extlibs poleceniem:

sudo cp extlibs/* /Library/Frameworks/

Ostatni krok to skopiowanie zawartości z katalogu templates do /Library/Developer/Xcode/Templates (może być wymagane jego utworzenie).

sudo mv templates/* /Library/Developer/Xcode/Templates

Jeśli właśnie w tym miejscu zastanawiasz się dlaczego tak robię, to już wyjaśniam. Sama instalacja z pomocą brew nie dodaje szablonów i przykładów (a przynajmniej tak było). Jeśli chcecie to możecie pominąć trzy powyższe kroki i zdać mi relację czy działa.

Tworzenie projektu i pierwsze uruchomienie

Zainstalowaliśmy wszystko co nam potrzebne. Kolejnym krokiem jest uruchomienie Xcode’a i stworzenie nowego projektu. Wybieramy „SFML App”.

 

 

Następnie wypełniamy formularz dotyczący projektu i wybieramy potrzebne nam moduły. Ja wybieram wszystkie, ponieważ mam w planach wykorzystanie wszystkiego co się da przy tworzeniu gry.

 

 

Po wybraniu katalogu, w którym ma być zapisany projekt, zobaczymy przykładowy program. Będzie on dobrym szablonem na start jak i testem czy wszystko co robiliśmy wcześniej działa prawidłowo.

 

 

Jeśli po skompilowaniu i uruchomieniu tego kodu zobaczymy okno wyświetlające obraz i usłyszymy muzykę grającą w tle, to znaczy, że instalacja przebiegła pomyślnie. Mamy więc wszystko przygotowane. Czas stawiać pierwsze średniki!

Przy okazji, jeśli chodzi o instalację, to nie obiecuję, że wszystko będzie działać jak należy. Jeśli masz problem to pisz komentarz pod postem, postaram się pomóc. W sieci możesz znaleźć poradniki instalacji SFML‚a na inne systemy operacyjne czy inne środowiska jeżeli zainteresowałem cię tematem wpisu.

Podsumowanie

Tym razem zakończymy na przykładzie. W przyszłych tekstach dowiemy się jak odpowiednio rozdzielić zadania między obiekty, dowiemy się jak zbudować funkcję update, którą w późniejszym czasie będziemy używać do dokonywania zmian w obiektach oraz dodamy prosty kontener przechowujący pliki graficzne. Równolegle powstaje również tekst o zarządzaniu zadaniami z poziomu tablicy i karteczek. Wiem, że można to zrobić w formie elektronicznej, ale ja przedstawię to w formie fizycznej (tak, wiem, jestem staroświecki).

W stopce masz linki gdzie możesz mnie odnaleźć – wiesz co z nimi zrobić!

Do następnego!

#shareShare on FacebookShare on Google+Tweet about this on TwitterShare on TumblrPin on PinterestShare on LinkedInShare on VKShare on RedditEmail this to someone