Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 12.11.14 Prihlásený: 04.08.15 Príspevky: 27 Témy: 3 | 3 |
Zdravím. 1, Chcel by som naprogramovať hru v C++, no v C++ mám skúsenosti iba s konzolou. Hodilo by sa mi pár rád ohľadom výberu knižníc. Dočítal som sa všeličo o winapi, qt4, OpenGL a DirectX, no bol by som rád keby som sa dočítal aj o praktických skúsenostiach.
2, V prípade, že by som si na vytvorenie okien, buttonov, menu a pod. komponentov vybral qt4 alebo winapi, je ich možné použiť ich aj na nejakú schopnejšiu 2D grafiku ? Typu hry Šach napr.
3, ak budem vo Vizual Studio 2012 robiť s qt4 / winapi GUI, je možné neskôr pridať OpenGL / DirectX bez potreby vytvorenia nového projektu a jeho spúšťania starou aplikáciou ako novy proces ? Neviem či som sa dobre vyjadril, ale mám na mysli že by proste bežali 2 na sebe nezávislé programy, pričom prvý program by bol menu vo winapi a druhy hra v OpenGL. Pri kliknutí na ŠTART by sa potom spustil úplne iný program.
Ďakujem.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Určite by si nemal začínať s OpenGL, alebo DirectX. Tam ide často o skutočné programovanie pc grafiky, čo je jedna z najnáročnejších vecí v programovaní. Začni niečím jednoduchším, ideálne s knižnicou SFML, čo je objektová knižnica nad OpenGL. Tiež mi nie je jasné, prečo by niekto chcel robiť hru a využívať pri tom komponenty winapi. Tlačítka, popisky a iné si predsa budeš robiť vlastné. V prípade potreby (neviem akej podivnej) sa to ale kombinovať samozrejme dá.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 12.11.14 Prihlásený: 04.08.15 Príspevky: 27 Témy: 3 | 3 |
No nemám skúsenosti s oknovými aplikáciami v C++, Dr. Google mi vždy na túto tému odporučí winapi alebo simple window form, tá forma je podobná Lazarusu a niesom si istý či by mi to v škole prešlo, po dohode asi hej, ale dostal by som možno menej bodov lebo je to dosť jednoduché. Dajú sa spraviť vlastné komponenty bez winapi ? Mohol by si mi linknuť nejaký návod ? Hľadal som už všade možne kde ma napadlo ale fakt neviem ako v C++ vytvoriť okno.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Najprv sa rozmysli, či chceš robiť hru, alebo "okienkovú aplikáciu" (tj. klasický windows vzhľad tlačítiek apod). Nie že by sa nedala urobiť hra v okienkach, ale je oveľa jednoduchšie a prínosnejšie robiť to v nástrojoch určených pre tvorbu grafiky. Takže "okienka" a "pc grafika" sú dve úplne odlišné veci. Čo z toho chceš?
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 12.11.14 Prihlásený: 04.08.15 Príspevky: 27 Témy: 3 | 3 |
No chcem robiť hru, ale potrebujem ovládacie prvky ako buttony na start, load, save .... potom nejaké checkboxy pre nastavenia. Ďalej plochu kde bude hra bežat a bude možné získavať event so súradnicami, napr. po kliknutí myšou na súradnicu by som chcel získať nejaké e.X a e.Y, aby napr funkcia na označenie figúrky vedela na ktoré políčko v hracej ploche bolo kliknuté. Napríklad niečo typu: Kód: if (Emouse_LB()){ X = get_event(e.x); Y = get_event(e.y); }
kde Emouse_LB je nejaká fukcia ktorá vráti true ak bolo kliknuté LMB, get_event() získava súradnice klikunie na ploche/okne ... hocičom čo dokáže vykreslovať.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
No tak toto sa napríklad dá urobiť vo windows forms (napr vo Visual Studio), s použitím eventu onPaint a trebárs timerom. Trochu viac "profi" možnosť je SFML http://www.sfml-dev.org/Máš tam kopec tutoriálov a hotových kódov, ktoré môžeš použiť. Tlačítka si vieš jednoducho urobiť sám (ak klikneš a pozícia myši je v obdĺžniku, ktorý predstavuje tlačítko) Podobne checkboxy a všetko, čo len chceš. Ďalej, zabudni na to, že v hre napíšeš niečo ako "ak bol klik, tak..." To nie je úplne to, čo sa deje (aj keď vo windows forms sa to tak bude tváriť). Hru musiš vidieť ako nekonečný cyklus, ktorý mení svet a vykresluje ho. Takže každá hra vždy vyzerá nejako takto: Kód: while(run) { obsluhaUdalosti(); //napr klik, koniec, stlacenie klavesy... updateSveta(); vykresliSvet(); korigujFPS(); //napriklad sleep(40) }
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 12.11.14 Prihlásený: 04.08.15 Príspevky: 27 Témy: 3 | 3 | |
Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Technológia .NET | 7 | 1675 | 24.06.2010 13:46 dEVIANT | | v Assembler, C, C++, Pascal, Java | 11 | 538 | 02.09.2013 18:52 faraon | | v Assembler, C, C++, Pascal, Java | 2 | 1032 | 30.10.2011 21:37 Alastor | | v Assembler, C, C++, Pascal, Java | 3 | 518 | 05.03.2016 12:09 magic | | v Krčma | 3 | 774 | 12.01.2016 7:26 Miso122 | | v Assembler, C, C++, Pascal, Java | 5 | 796 | 08.07.2014 20:40 XOLOO | | v Smartfóny a tablety | 1 | 390 | 04.01.2016 21:21 Miso122 | | v Smartfóny a tablety | 2 | 466 | 21.05.2015 20:01 jjjano1 | | v PHP, ASP | 1 | 777 | 25.04.2011 15:57 Bajzik | | v Ponuka práce | 0 | 1006 | 11.02.2012 11:18 deedee04 | | [ Choď na stránku: 1, 2 ] v Operačné systémy Microsoft | 33 | 2031 | 01.09.2007 23:51 Roberbo | | v Ostatné | 2 | 329 | 02.06.2013 8:57 eLko | | v Ponuka práce | 0 | 894 | 25.11.2009 17:26 xvovox | | v PHP, ASP | 3 | 668 | 22.11.2009 14:41 Miloss222 | | v Ostatné programy | 0 | 2969 | 18.02.2019 20:47 mindy87 | | v Smartfóny a tablety | 1 | 1153 | 03.03.2012 10:23 Qpkqkma |
|