[1] Pravljenje igre Sokoban u C++ [izbor IDE-a i planiranje]

[1] Pravljenje igre Sokoban u C++ [izbor IDE-a i planiranje]

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Sadržaj


[1] Uvod
[2] IDE
a) Windows
b) Linux
c) Mac OS X
[3] Testiranje IDE-a
a) Windows
b) Linux
c) Mac OS X
[4] Izbor i instalacija potrebnih biblioteka
a) Windows
b) Linux
c) Mac OS X
[5] Planiranje




[1] Uvod


C++ je jedan od najrasprostranjenijih programskih jezika i podržava skoro sve arhitekture procesora i operativne sisteme. Nudi dobar odnos lakoće pisanja/održavanja kôda i brzine, što ga čini savršenim za pisanje igara. Još jedna prednost je ta da se većina biblioteka prvo ili čak isključivo pišu za C++.



[2] IDE


Kôd u suštini možemo pisati u bilo kojem editoru za tekst i kompajlirati ga preko alata u konzoli, ali to nije praktično i zahteva puno vremena. Da bi sami sebi olakšali rad, možemo instalirati IDE (Integrated Development Environment). Pošto je C++ popularan, postoji veliki broj okruženja za razvoj koja ga podržavaju. Za listu popularnih okruženja i njihovih mogućnosti, pogledajte ovde: link.


a) Windows

Za Windows operativni sistem definitivno preporučujem Visual C++ 2010 Express (nažalost Visual Studio 2012 Express ne može biti instaliran u Windows XP-u). Visual C++ 2010 Express je besplatan, ali zahteva registraciju, koja je takođe besplatna. Moje subjektivno mišljenje je da je to jedan od najboljih IDE-a koji su ikad napravljeni, ali sigurno će se naći osobe koje se neće slagati sa tim. Bez obzira na to, u ovom tekstu ću za Windows operativni sistem objašnjavati samo IDE Visual C++ 2010 Express. Instalaciju možete preuzeti ovde: link.


b) Linux

Za Linux operativni sistem preporučujem Eclipse CDT. Od svih IDE-a za Linux koje sam probao, a bilo ih je dosta, čini mi se da ovaj ima najbolju podršku za C++ (sve od uređivanja koda, pa do testiranja). U nastavku teksta ću za Linux opisivati samo Eclipse CDT IDE. Instalacija se za većinu distribucija svodi na instaliranje paketa eclipse-cdt. U slučaju da vaša distribucija nema paket za instalaciju Eclipse CDT-a, instalaciju možete preuzeti odavde: link.


c) Mac OS X

Za Mac OS X je trenutno najbolji IDE Xcode. Podržava programiranje za sve Apple uređaje i prilično lepo se uklapa u ostatak operativnog sistema. Instalacija je besplatna, ali ćete morati da napravite besplatan iTunes nalog da biste mogli da instalirate Xcode preko App store.



[3] Testiranje IDE-a


Pre nego što počnemo sa pisanjem igre, dobro bi bilo da proverimo da li IDE radi kako treba. Ako budete imali problema u ovom delu proverite dobro da li ste pravilno odradili svaki korak... Ako i dalje ne bude išlo, probajte da reinstalirate IDE.

Napisaćemo jednostavan program, čija će jedina svrha biti da ispiše tekst Hello world! u konzoli. Kod je za sva okruženja isti:
#include <iostream> using namespace std; int main() {     cout << "Hello world!" << endl; }

a) Windows

Nov projekat u Visual C++-u kreiramo tako što kliknemo na meni File->New->Project.



Izabraćemo Win32 Console Application kao tip projekta i upisati helloworld u polje Name. Ako želite da promenite direktorijum u kojem će se projekat kreirati, promenite polje Location.



Klikom na dugme OK otvaramo nov prozor u kojem ćemo podesiti kakav konzolni projekat želimo. U pozdravnom prozoru pritisnemo Next i zatim selektujemo opciju Empty project.



Dodavanje datoteke u kojoj ćemo pisati kod se vrši desnim klikom na Source Files i zatim klikom na meni Add->New Item.



U prozoru za kreiranje datoteke izaberemo tip C++ File (.cpp) i u polju Name upišemo main.cpp. Datoteka je sada kreirana i otvorena, i možemo u nju prekopirati kôd.



Pokretanje programa se vrši pritiskom na dugme Ctrl+F5. Visual C++ će nas pitati da li želimo da napravimo izvršnu datoteku na osnovu unetog kôda. Nakon pritiska na dugme Yes program će se pokrenuti.




b) Linux

Kreiranje projekta se vrši klikom na meni File->New->C++ Project.



U polju Project name treba da upišemo helloworld. Kao Project Type treba da izaberemo Executable->Empty Project. Na desnoj strani, u listi Toolchains treba da izaberemo Linux GCC i kliknemo Finish. To će napraviti prazan projekat za Linux operativni sistem i daće mu ime helloworld.



Sada moramo dodati datoteku u kojoj ćemo pisati kôd. To ćemo uraditi tako što ćemo na levoj strani desnim dugmetom miša kliknuti na projekat helloworld i izabrati New->Source File.



U polje source file upišemo main.cpp i kliknemo Finish.



Kada je datoteka kreirana, možemo u nju preneti kôd i snimiti je pritiskom na Ctrl+S.

Pre nego što pokrenemo program, moramo napraviti izvršnu datoteku tako što ćemo kliknuti na meni Project->Build Project.



Sada možemo pokrenuti program pritiskom na Ctrl+F11. U donjem delu prozora ćete videti karticu Console u kojoj će pisati Hello world! baš kao što smo hteli.




c) Mac OS X

Kada pokrenete Xcode, dočekaće vas pozdravni prozor u kojem klikom na dugme Create a new Xcode project možete kreirati nov projekat.



U sledećem prozoru na levoj strani u grupi OS X izaberite Application, a zatim na desnoj Command Line Tool.



U polje Product Name upišite helloworld i izaberite C++ u polju Type. Polja Organization Name i Company Identifier su obavezna i u njima možete upisati svoje ime, neku vašu oznaku ili nešto slično. Ako nemate ideje šta da upišete, upišite u oba polja demo. Za kraj, moramo izabrati direktorijum u kojem će projekat biti snimljen.



Datoteka main.cpp će već biti kreirana za nas i u njoj će već biti kôd koji ispisuje tekst na konzolu. Možete ostaviti taj kôd ili prekopirati kôd koji smo koristili za ostale operativne sisteme.



Program možemo pokrenuti pritiskom na Command+R. Xcode će vas pitati da li želite da omogućite dodatne mogućnosti za lakše otklanjanje grešaka iz programa.



Ako budete izabrali da želite, moraćete da upišete šifru za vašeg korisnika.



Na kraju ćete u donjem delu prozora videti tekst koji je aplikacija ispisala.





[4] Izbor i instalacija potrebnih biblioteka


Da bi igra uopšte mogla da se igra, moramo napraviti prozor u kojem će se sve iscrtavati, promeniti rezoluciju ako igrač želi fullscreen aplikaciju, učitati slike i zvukove sa diska, proveravati šta se dešava sa tastaturom, mišem i džojsticima, itd... Postoji veliki broj biblioteka koje nam mogu olakšati taj deo i omogućiti nam da se fokusiramo na pisanje same igre.

Pitanje je koju biblioteku izabrati. Ako već znate da koristite neke i dovoljne su vam da napravite igru koju želite, onda nemate problema. Ako ne znate, treba da se zapitate šta vam tačno treba za igru... Ako izaberete biblioteku koja ne nudi sve što vam treba, moraćete jedan deo sami da napravite, a ako izaberete neku biblioteku koja ima i više nego što vam treba, velika je verovatnoća da je zbog tog dodatnog koda biblioteka komplikovana za korišćenje.

Naravno, tu je još jedan kriterijum... Verovatno ćete želeti besplatnu biblioteku (bar na početku) koja će vam dozvoliti da objavljujete igre bez dodatnih troškova. Listu popularnih biblioteka možete naći ovde: link.

Nama će za igru biti potrebno da lako kreiramo prozor, da crtamo 2D sličice (sprajtove), da možemo jednostavno da detektujemo koji taster na tastaturi je pritisnut i, možda kasnije, jednostavan način za puštanje zvukova. Jedna od biblioteka koja omogućava sve to i ima lep C++-ovski interfejs je SFML. To je brza i besplatna biblioteka koja će nam omogućiti da vrlo brzo i bez muke napravimo kompletnu igru i za Windows, i za Linux, i za Mac OS X.

Za test ćemo iskorisiti kôd sa zvanične stranice, koji će otvoriti prozor crne boje i čekati da ga korisnik zatvori:
#include <SFML/Graphics.hpp> int main() {     // Create the main rendering window     sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Graphics");     // Start game loop     while (App.IsOpened())     {         // Process events         sf::Event Event;         while (App.GetEvent(Event))         {             // Close window : exit             if (Event.Type == sf::Event::Closed)                 App.Close();         }         // Clear the screen (fill it with black color)         App.Clear();         // Display window contents on screen         App.Display();     }     return EXIT_SUCCESS; }


a) Windows

Windows programeri, pripremite se Very Happy

Datoteke za instalaciju možemo preuzeti sa zvaničnog sajta: link. Kada preuzmete datoteku, raspakujte je tamo gde želite da SFML bude instaliran. Dalje u tekstu ću pretpostavljati da ste datoteku raspakovali direktno na C disk i da se instalacija nalazi u direktorijumu SFML-1.6.

Pošto ova biblioteka ne nudi pripremljene datoteke za Visual C++ 2010 Express, moraćemo sami da ih napravimo. Prvo ćemo otvoriti projekat SFML iz direktorijuma C:\SFML-1.6\build\vc2008.



Pošto je to projekat za stariju verziju Visual C++-a, otvoriće nam se prozor za konverziju. U pozdravnom prozoru treba da pritisnemo Next, zatim izaberemo da nećemo backup i pritisnemo Finish.



Kada konverzija bude završena, dobićete upozorenje da neki projekti nisu učitani, ali neka vas to ne brine... To tako mora da bude.



Na kraju, deštriklirajmo opciju Show the conversion log when the wizard is closed i pritisnemo Close.



Sada ćemo na levoj strani dobiti dosta projekata koji nam nisu potrebni. Izaberite sve osim sfml-audio, sfml-graphics, sfml-main, sfml-network, sfml-system, i sfml-window (selektovanje izvedite tako što držite Ctrl i klikćete na projekte koje želite da selektujete). Kada su svi nepotrebni projekti selektovani, izbacite ih pritiskom na taster Delete.

Sledeći korak je kompajliranje projekata. Potrebno je iskompajlirati sve projekte za Debug DLL, Debug static, Release DLL i Release static konfiguracije. Izbor konfiguracije se vrši u toolbar-u.



Kompajliranje se vrši tako što izaberete konfiguraciju i zatim pritisnete F7. Kada završite kompajliranje za sve 4 konfiguracije, otvorite direktorijum C:\SFML-1.6\lib i preimenujte direktorijum vc2008 u vc2010.



Ostaje nam još da prekopiramo par datoteka. Za DLL konfiguracije će nam kasnije trebati lib datoteke koje znaju da učitaju potrebne dll-ove. Te lib datoteke se nalaze u direktorijumu C:\SFML-1.6\Temp\vc2008\sfml-*\Debug DLL i C:\SFML-1.6\Temp\vc2008\sfml-*\Release DLL.

Sve Debug lib datoteke treba preimenovati tako da im se na kraju doda -d. Sve te lib datoteke morate kopirati u C:\SFML-1.6\lib\vc2010 direktorijum. Ako ne znate kako da nađete te datoteke, možete iskoristiti Windows Serach tako što ćete otvoriti direktorijum C:\SFML-1.6\Temp\vc2008, pritisnuti F3 i kao ime datoteke upisati *.lib. To će vam izlistati sve lib datoteke i moćićete lakše da ih preimenujete i kopirate.



Konačno imamo biblioteku za Visual C++ 2010 Smile

Za slučaj da nekog zanima zašto smo morali da iskompajliramo 4 konfiguracije iste biblioteke, to je zato što nam biblioteka omogućava da je koristimo na različite načine. Konfiguracije koje se završavaju sa static nam omogućavaju da celu biblioteku ubacimo u našu igru, koja će zbog toga imati dosta veću datoteku, ali nam ne trebaju dodatne dll datoteke.

Konfiguracije koje se završavaju sa DLL zahtevaju da pored programa imamo i dll datoteke, što nam omogućava da recimo pri popravljanju igre, korisniku pošaljemo samo malu datoteku u kojoj se nalazi igra, a dll datoteke ostaju iste i nema potrebe da ih ponovo šaljemo.

Dalje u tekstu ćemo koristiti DLL konfiguraciju. Drugi deo imena konfiguracije je Debug ili Release. Debug konfiguracija je dosta veća i, u nekim slučajevima, dosta sporija od Release konfiguracije zato što u sebi sadrži dodatan kod, koji nam omogućava da lakše pronalazimo greške u igri ili sami biblioteci. Visual C++ 2010 će i za našu igru napraviti Debug i Release konfiguraciju, a mi ćemo ih tako podesiti da koriste odgovarajuće konfiguracije biblioteke.

Za test ćemo napraviti nov projekat isto kao što smo ga napravili kada smo testirali da li je Visual C++ 2010 dobro instaliran, s jednom malom izmenom. Umesto da napravimo Win32 Console Application napravićemo Win32 Project.



Na isti način kao i prošli put napravićemo datoteku main.cpp i uneti kod za testiranje SFML-a.



Sada dolazi deo s kojim većina početnika ima problem. Ako pokušamo da pokrenemo aplikaciju dobićemo greške da kompajler i linker ne mogu da pronađu potrebne datoteke i da ne mogu da nastave dalje. Rešenje je da im kažemo gde se biblioteke koje koristimo (u našem slučaju samo SFML) nalaze i koje datoteke treba da koriste.

Otvorite podešavanja projekta tako što ćete desnim tasterom miša kliknuti na ime projekta i izabrati Properties.



Otvoriće se prozor za konfiguraciju i videćete da je u gornjem levom uglu selektovana konfiguracija Active (Debug). Pošto ćemo prvo postaviti parametre koji će važiti za sve konfiguracije, izaberite All Configurations iz padajućeg menija.



Da bismo rekli kompajleru gde se nalaze sve header datoteke koje ćemo koristiti, potrebno je da na levi strani izaberemo Configuration Properties->C/C++->General i da u polju Additional Include Directories dodamo direktorijum C:\SFML-1.6\include u kojem se nalaze potrebne datoteke.



SFML zahteva jednu pretprocesorsku direktivu ako se koriste DLL konfiguracije, i zato moramo na levoj strani da izaberemo Configuration Properties->C/C++->Preprocessor i da u polje Preprocessor Definitions dodamo SFML_DYNAMIC.



Sledeći korak je podešavaje linkera. Na levoj strani otvorite Configuration Properties->Linker->General i u polje Additional Library Directories dodajte C:\SFML-1.6\lib\vc2010 (direktorijum u kojem smo pripremili datoteke za Visual C++ 2010).



Sada dolazi deo u kojem se Debug i Release konfiguracije razlikuju. Svaka konfiguracija igre se mora povezati na odgovarajuću konfiguraciju biblioteke i zato prvo izaberite konfiguraciju Debug u gornjem levom uglu, zatim na levoj strani izaberite Configuration Properties->Linker->Input i u polje Additional Dependencies dodajte sfml-main-d.lib, sfml-system-d.lib, sfml-window-d.lib i sfml-graphics-d.lib.



Sada ti osto ponovite, samo što ćete izabrati konfiguraciju Release i dodati sfml-main.lib, sfml-system.lib, sfml-window.lib i sfml-graphics.lib datoteke (obratite pažnju da na kraju nemaju -d).



Sada konačno možemo da napravimo izvršnu verziju programa, ali postoji još jedna caka Smile Pošto koristimo konfiguraciju sa dll datotekama, moramo kopirati Debug dll datoteke u Debug direktorijum programa, i Release dll datoteke u Release direktorijum. DLL datoteke se nalaze u direktorijumu C:\SFML-1.6\lib\vc2010 i imaju isto ime kao i lib datoteke koje smo upisali u podešavanjima. Jedini izuzetak je sfml-main koji nema nikakav dll. Debug i Release direktorijumi programa se kreiraju u direktorijumu u koji ste snimili projekat kada se program iskompajlira.



Sve ovo možda izgleda komplikovano, ali u suštini nije. Ceo postupak se svodi na pronalaženje biblioteke, po potrebi kompajliranje iz izvornog koda i podešavanje projekta. U sištini, za skoro svaku biblioteku imate objašnjenje za instalaciju i korišćenje, potrebno je samo polako ispratiti uputstva.


b) Linux

Što više programiram za Linux, to mi se više čini da je to operativni sistem za kojeg je najlakše podesiti okruženje za razvoj programa. Većina distribucija ima u svojim repozitorijumima SFML 1.6 pakete i uglavnom imaju ime sfml, sfml-dev ili libsfml-dev.

Instalacijom tog paketa ste završili veći deo podešavanja. Ako kojim slučajem vaša distribucija nema SFML u repozitorijumima ili ima neku drugu verziju, onda morate ručno instalirati biblioteku.

Trenutno koristim Arch Linux i on ima SFML paket, ali je u repozitorijumima već verzija 2.0 RC koja još uvek nije potpuno testirana i zbog toga ću ručno instalirati SFML, verzije 1.6. To možete preuzeti u 32-bitnoj verziji (link) ili u 64-bitnoj verziji (link). Kada preuzmete datoteku, raspakujte je svojim omiljenim programom za raspakivanje i instalirajte ga komandom:
sudo make install

Osnovni parametri skripte za instalaciju će instalirati header datoteke u /usr/local/include, a lib datoteke u /usr/local/lib direktorijum. Ako kojim slučajem linker nije podešen da traži biblioteke u direktorijumu /usr/local/lib, napravite datoteku /etc/ld.so.conf.d/local.conf i u nju upišite sledeće:
/usr/local/lib
Nakon toga je potrebno osvežiti keš komandom:
sudo ldconfig

Pokrili smo oba načina instaliranja (preko instalacije paketa i ručno), sada je vreme da napravimo testnu aplikaciju. Napravite nov projekat isto kao i kada smo testirali da li je Eclipse CDT pravilno instaliran, samo ovog puta dajte projektu ime sfmltest. Napravite datoteku main.cpp i u nju upišite testni kod.



Podešavanje kompajlera i linkera će biti vrlo jednostavno. U većini slučajeva ćete morati samo da dodate imena biblioteka tako što ćete desnim klikom na ime projekat otvorite meni i kliknuti na Properties.



Na levoj strani kliknite na C/C++ Build->Settings i u polju Configuration izaberite All configurations.



Na kartici Tool Settings izabertie GCC C++ Linker->Libraries i kliknite na dugme Add u gornjem delu.



U prozoru koji se otvori treba upisati ime biblioteke. Imena biblioteka su sfml-system, sfml-window i sfml-graphics. Svaku biblioteku morate posebno dodati.



Program sada možete pokrenuti klikom na Ctrl+F11.

U slučaju da kompajler i linker ne mogu da nađu datoteke, morate podesiti još dve opcije. Prvo ponovo otvorite podešavanja projekta. Putanju do header datoteka postavljamo tako što na kartici Tool Settings izaberemo GCC C++ Compiler->Includes i na desnoj strani kliknemo dugme Add.



To će otvoriti prozor gde možete upisati putanju u kojoj se nalaze header datoteke, recimo /usr/local/include.



Putanju do biblioteka postavljamo tako što izaberemo GCC C++ Linker->Libraries i na donjem delu kliknemo dugme Add.



To će otvoriti prozor gde možete upisati putanju u kojoj se nalaze biblioteke, recimo /usr/local/lib.




c) Mac OS X

Mac OS X je najjednostavniji operativni sistem za instalaciju i podešavanje SFML-a. Potrebno je da preuzmete odgovarajuću verziju SFML-a, 32-bitnu verziju (link) ili 64-bitnu verziju (link) u zavisnosti od vašeg operativnog sistema. Kada raspakujete datoteku, morate kopirati sve *.framework direktorijume iz direktorijuma lib(64) i extlibs/bin u /Library/Frameworks.

Instalacija je time završena. Ostaje još samo testiranje... Napravite projekat isto kao i kad smo testirali Xcode, samo ovog puta dajte ime projektu sfmltest. U main.cpp datoteku prekopirajte kod za testnu aplikaciju i to je skoro to.



Potrebno je još samo uz pomoć Finder-a prevući sfml-system.framework, sfml-window.framework, sfml-graphics.framework i SFML.framework u aplikaciju.



Otvoriće se prozor u kojem samo treba da pritisnete Finish i sva podešavanja su gotova.



Možete pokrenuti program pritiskom na Command+R.



[5] Planiranje


Pre nego što počnemo s programiranjem, dobra ideja je da unapred isplaniramo kako ćemo organizovati igru. Za male i jednostavne igre kao što je ova, planiranje nije obavezno ako možete sve da držite u glavi, ali mi ćemo ipak da odradimo i taj korak.

Ugrubo, igra će izgledati ovako: posle pokretanja će se pojaviti glavni meni u kojem će igrač moći da započne novu igru ili da izađe iz igre.
- Ako izabere da hoće da izađe iz igre, program se zatvara i to je kraj.
- Ako izabere da želi novu igru, učitavamo prvi nivo i pokrećemo glavni deo.

Iz glavnog dela igre imamo 3 moguća izlaza:
- Jedan je da igrač pređe nivo, što će izazvati učitavanje sledećeg i ponovni ulazak u glavni deo.
- Drugi je reset nivoa što će izazvazi ponovno učitavanje istog nivoa i ulazak u glavni deo.
- Treći je povratak u glavni meni.

Ako detaljnije proučimo glavni meni, videćemo da mora da se sastoji iz sledećih delova: čitanje poruka, gašenje aplikacije ako je pritisnuto dugme za gašenje u prozoru, promena selekcije ako je pritisnuto gore ili dole, aktiviranje izabrane komande ako je pritisnut Enter, crtanje sadržaja, i opet sve to iz početka.

Komande koje će korisnik moći da izabere su Izlaz za gašenje programa i Nova igra koja će postaviti trenutni nivo na 1 i započeti učitavanje.
Učitavanje nivoa će resetovati sve interne promenljive vezane za nivo, učitati trenutno aktivni i započeti glavni deo. Ovaj deo igre neće čitati nikakve poruke i neće ništa crtati jer će učitavanje trajati vrlo, vrlo kratko.

U slučaju da ne postoji izabrani nivo (recimo da smo prešli zadnji nivo i glavni deo zahteva sledeći) zatvorićemo igru.

Glavni deo će dosta ličiti na glavni meni, verovali ili ne. U glavnom delu ćemo takođe imati čitanje poruka i gašenje aplikacije ako igrač pritisne dugme za zatvaranje prozora. Zatim sledi proveravanje tastature i povratak u glavni meni ako je pritisnut taster Escape, povratak na učitavanje istog nivoa ako je pritisnut taster R ili pozivanje logike za pomeranje igrača ako je pritisnuta neka od strelica.

Nakon toga ćemo osvežiti ekran i ponovo se vratiti na početak ove petlje. Logika za pomeranje će proveriti da li igrač može da se pomeri u izabranu stranu. Ako može, popraviće koordinate igrača i kocke ako se kocka nalazi ispred njega. U slučaju da je i kocka bila pomerena, proveriće da li su sve kocke na mestu. U slučaju da jesu, promenljiva koja čuva trenutno aktivni nivo će se povećati za jedan i ponovo će se pozvati korak za učitavanje nivoa.

To je grub plan koji ćemo pratiti u toku pravljenja igre. Biće tu još dodatnih stvari kao što su učitavanje slika, malo animacije da kretanje izgleda lepše, učitavanje fontova, i slično, ali ćemo se truditi da ne odstupamo od zacrtanih ciljeva jer čim počnete da dodajete nešto što niste planirali (recimo zvuk), poželećete da dodate još nešto (recimo podršku za džojstik), pa još nešto (animiranu pozadinu), pa još nešto (kameru koja se kreće oko polja za igru), pa još nešto (različite slike za igrača i kockice za svaki nivo), pa još nešto (merenje vremena i broja koraka), pa još nešto (mogućnost izbora nivoa), i na kraju nikad nećete završiti igru jer ćete uvek hteti da dodate još nešto. Kad budemo završili ono što smo sami sebi na početku postavili, tada možete polako da dodajete deliće koje će poboljšati igru.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Prvo da kazem svaka cast na trudu i vremenu sto si odvojio za ovo. Ziveli

Zasto SMFL 1.6 kad postoji 2.0 koja sadrzi razne ispravke i dodatke iz predhodne verzije!?



offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Zato što SFML 2.0 još uvek nije potpuno završen (za sada imamo dek prvu RC verziju) i ima puno grešaka. S druge strane SFML 1.6 radi fino na svim podržanim platformama i većina Linux distribucija nudi baš ovu verziju paketa.
Kada SFML 2 bude završen, lako ćemo popraviti ovo uputstvo Smile

offline
  • Pridružio: 10 Dec 2014
  • Poruke: 29

Majstore, kad uradim sve i kad treba da uradim:
moramo kopirati Debug dll datoteke u Debug direktorijum programa, i Release dll datoteke u Release direktorijum.
Meni uopste ne napravi Release direktorijum

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Srki_82 ::Debug i Release direktorijumi programa se kreiraju u direktorijumu u koji ste snimili projekat kada se program iskompajlira.

offline
  • Pridružio: 16 Jul 2015
  • Poruke: 9

Svaka čast početnik sam i upravo ovo počinjem da radim pa ti javljam ishod.

SFML više ne može da se preuzme bar ne sa tog sajta, da li je ovo to sfml-dev.org/download.php??

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Ovaj tutorijal je pisan za prilično staru verziju SFML. Možeš je naći ovde: http://www.sfml-dev.org/download/sfml/1.6/

Ko je trenutno na forumu
 

Ukupno su 1116 korisnika na forumu :: 45 registrovanih, 5 sakrivenih i 1066 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: airsuba, amaterSRB, Apok, aramis s, babaroga, bigfoot, Bobrock1, Boris Bosiljčić, BORUTUS, Centauro, cifra, darkstar101, doom83, draganl, flash12, gorican, havoc995, ILGromovnik, Istman, Joja, kinez88, kybonacci, LUDI, macak44, milenko crazy north, Misirac, Nemanja.M, nemkea71, nuke92, ObelixSRB, panzerwaffe, radionica1, robert1979, Romibrat, rovac, slonic_tonic, theNedjeljko, vathra, virked, Vlad000, wolverined4, ZetaMan, zixmix, žeks62, 1107