priklady-resene:herni-framework

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
priklady-resene:herni-framework [2021/04/19 14:19] – [2) Stažení SDL2 knihovny] burespriklady-resene:herni-framework [2021/04/19 15:27] (aktuální) bures
Řádek 15: Řádek 15:
 ===== Tutoriál ===== ===== Tutoriál =====
 ==== 1) Naklonování zdrojových kódů projektu ==== ==== 1) Naklonování zdrojových kódů projektu ====
-  * Vytvoříme složku pro náš projekt někde na disku. Například ''MojeHra''+  * Vytvoříme složku pro náš projekt někde na disku. Například ''C:\Programming\MojeHra\''
-  * Uvnitř této složky spustíme z kontextového menu ''Git Bash'' +  * Uvnitř této složky spustíme z kontextového menu ''Git Bash'' {{:priklady-resene:rungitbash.png?direct&200|}}
-    * {{:priklady-resene:rungitbash.png?direct&200|}}+
      
   * Naklonujeme Gitovský repozitář   * Naklonujeme Gitovský repozitář
Řádek 26: Řádek 25:
 </code> </code>
  
-    * {{:priklady-resene:gitclone.png?direct&200|}}+    * Úspěšným spuštěním příkazu nám vznikne nová složka ''C:\Programming\MojeHra\Hra'' {{:priklady-resene:gitclone.png?direct&200|}}
  
 ==== 2) Stažení knihoven SDL2 a SDL2_Image ==== ==== 2) Stažení knihoven SDL2 a SDL2_Image ====
Řádek 36: Řádek 35:
   {{:priklady-resene:sdl2_download.png?direct&200|}} {{:priklady-resene:sdl2_image_download.png?direct&200|}} {{:priklady-resene:libsunpacked.png?direct&200|}}   {{:priklady-resene:sdl2_download.png?direct&200|}} {{:priklady-resene:sdl2_image_download.png?direct&200|}} {{:priklady-resene:libsunpacked.png?direct&200|}}
  
-==== 3) Stažení SDL2_Image knihovny ==== +==== 3) Konfigurace a vytvoření řešení pro VS pomocí nástroje CMake ==== 
-Lorem ipsum dolor sit amet+V tomto kroce předpokládáme, že celý náš projekt leží například v ''C:\Programming\MojeHra\'' - složka z prvního kroku 
 +  * Uvnitř našeho repozitáře vytvoříme složku ''build'' - v tomto příkladě by to bylo ''C:\Programming\MojeHra\Hra\build'' 
 +  * Spustíme program CMake - grafickou verzi 
 +  * Položku **//Where is the source code//** nastavíme na naklonovaný Git repozitář. V tomto příkladě: ''C:\Programming\MojeHra\Hra'' 
 +  * Položku **//Where to build the binraies//** nastavíme na dříve vytvořenou složku ''build''. V tomto příkladě ''C:/Programming/MojeHra/Hra/build'' {{:priklady-resene:cmakebegin.png?direct&200|}} 
 +  * Dáme **Configure** a v dialogovém okně vybereme naší verzi visual studia a nastavíme //platform generator// na **x64** a dáme finish. {{:priklady-resene:cmakegenerator.png?direct&200|}}. 
 +  * V tomto bodě nastane chyba a bude potřeba doplnit proměnnou **SDL2_PATH** v horní části cestou k naší dříve rozbalené knihovně SDL2. V tomto příkladu je to ''C:\Programming\MojeHra\SDL2-2.0.14'' {{:priklady-resene:sdl2_configure.png?direct&400|}} 
 +  * Znovu dáme **Configure** nastane opět chyba, tentokrát bude třeba doplnit proměnnou **SDL2_IMAGE_PATH** pro knihovnu SDL2_Image. V tomto příkladu je to ''C:\Programming\MojeHra\SDL2_image-2.0.5'' {{:priklady-resene:sdl2_image_configure.png?direct&400|}} 
 +  * Po opětovném stisknutí **Configure** by měl být projekt bez chyb. 
 +  * Následuje **Generate** pro vygenerování solution souborů pro visual studio 
 +  * Následně můžeme rovnou otevřít VS pomocí tlačítka **Open Project**
  
-==== 4) Konfigurace a vygenerování projektu ==== +==== 4) Kompilace s puštění projektu ==== 
-Lorem ipsum dolor sit amet+Jakmile se nám projekt otevře ve VS. Je třeba akorát nastavit náš projekt **TheGame** jako výchozí tím, že na něj v průzkumníku řešení klikneme pravým tlačítkem a vybereme **Nastavit jako spouštěný projekt**. Projekt lze následně sestavit, spustit a upravovat dle vašich přání.
  
-{{:priklady-resene:screenshottest.png?direct&400|}}+{{:priklady-resene:thegame.png?direct&400|}}
  
-<code c> +==== 5) Co dále? ==== 
-void TBA() +Projekt má nyní 3 hlavní funkce, které stojí za vaší pozornost a kam by jste měli upřít svoji shanu, pokud chcete vytvořit nějaký vlastní gameplay: 
-{ +  * ''void startGame()'' - Tato funkce se zavolá před začátkem samotné hry 
-} +  * ''void update()'' - Tato funkce se volá před každým vykresleným snímkem. Typicky by měla obsahovat herní simulaci - pohyb, kolize, vstup z klávesnice, herní pravidla. 
-</code>+  * ''void draw()'' - Tato funkce se stará o vykreslení každého herního snímku. Zde by jste měli obstarávat vykreslování herních assetů. 
 + 
 +===== ToDo ===== 
 +Seznam toho co Já Buracisko chci a musím předělat vylepšit v rámci další iterace. 
 +  * Udělat jeden samostatný projekt, který pojme veškeré závislosti a odpadne tak nutnost managovat knihovny ručně - pravděpodobně vlastní mirror a kompilace v rámci projektu 
 +  * Rozdělit frameworkové části kódu do okolních souborů s dokumentovaným API 
 +  * Delta time do update/draw funkcí pro precizní pozicování 
 +  * **Bomberman** like ukázkový project.
  
-<code bash> 
-burak@debbie:$ TBA 
-</code> 
  
  • priklady-resene/herni-framework.1618834793.txt.gz
  • Poslední úprava: 2021/04/19 14:19
  • autor: bures