Hogyan jutnak el a játékok a programkódtól a játszhatóig? Melyik nyelvvel kezdjem?
Hali.Az első kérdésem arra vonatkozik , hogy ha én megírok egy programot egy nyelven (C++-ban van egy alap tudásom) abból a konzol parancssorból hogyan lesz kész játék
Mert néztem pl a Visual Basicet ott létrehozod a Gombokat a labeleket majd megírod rá az adott kódsort ami aktiválja vagy interakcióba hozza
De egy Code Blocks esetén hogy működik ha en mondjuk egy dialógusnak adnék egy kép hátteret az unalmas fekete helyett? (Nem színt váltanék hanem egy képre cserélném le)
Vagy mondjuk hogy lehet egy töltő képernyőt létrehozni ezt nem értem.
Szívesen elkezdeném a Visual Basicet de azt mondják hogy nem keresett a piacon és mivel ezzel szeretnék foglalkozni így ütőképesebb nyelv kellene
Egyébként egy szöveg alapú (Legyen ön is milliomos tipusú) játékot szeretnék létrehozni a jelenlegi tudásommal menne c++al de túl egyhangú lenne ugyan azt a fekete console képernyőt bámulni 1 órán keresztül a játékosnak hang nélkül
Valaki tudna megoldást a problémámra
Előre is köszönöm
Ismerkedj meg a Qt-tal:
Ideális esetben magát a játékot vezérlő logikát kell úgy felépíteni, hogy ne érdekelje őt, hogy milyen felhasználói felület tartozik hozzá, illetve hogyan kapja meg a felhasználói interakciót. Ez azt jelenti, hogy egy konzolos felhasználói felületet anélkül tudjak lecserélni egy grafikusra, hogy ne kelljen belenyúlnom egyáltalán abba a kódba, ami a játékmenetet vezérli. Hasonló a helyzet a játékossal is. A játékvezérlő logikát ne érdekelje, hogy most a játékos az internet túlsó pontján van vagy a számítógép előtt ül, sőt, ha úgy tetszik, maga a számítógép lehessen a játékos.
A nehezítés abban van, hogy a konzolos megoldás esetében olyan utasításokat használsz a felhasználói interakció megállapítására, amiknek blokkoló hatása van. Például (C nyelv):
int main() {
.. //...
.. scanf("%d", ...);
.. //...
}
A programod nem fog tovább lépni a scanf utasításon, amíg a felhasználói adatbevitel meg nem történik.
Ezzel szemben az eseményvezérelt programozás, amelyet grafikus felhasználói felületekhez használnak, nem blokkoló utasításokon alapul. A Windows operációs rendszerben egy ablakos alkalmazás ezt a két függvényt mindenképp tartalmazza (C nyelv):
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
.. //ez a main() megfelelője egy Windows-os alkalmazásnak
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
}
Amitől a programod eseményvezérelt lesz, az annak köszönhető, hogy az operációs rendszer a programodban bizonyos időközönként meghívja a WndProc függvényt. Itt történik ugyanis az eseményvezérlés lelke - az operációs rendszer és más szoftverek által küldött üzenetek kezelése. Ilyen például az egér megmozdulása, az egérrel történő kattintás, valamilyen billentyű megnyomása a billentyűzeten, újrarajzolási kérelem, hogy be akarod zárni az ablakot a nagy piros X-szel, stb. Van egy leírás a Microsoft dokumentációi közt, ami megmutatja, hogy a semmiből keretrendszer nélkül hogyan tudsz egy egyszerű ablakos "Hello World" programot írni:
Természetesen már van olyan fejlett a programozás világa, hogy ezzel nem neked kell foglalkozni, hanem valamilyen programkönyvtár vagy keretrendszer intézi ezt helyetted. Merem ajánlani hozzá a C# nyelvet.
A "visual" nyelvek sem egyebek, mint kódgenerátorok.
Amit az egérrel összehúzogatsz, ugyanazt (ahogy az előttem szóló is mondja) te is megírhatod, szövegesen. Az eredmény azonos lesz, csak a vizuál feljesztőrendszerek kényelmesebbek és gyorsabbak is a gépelésnél. Ráadásul a hibalehetőségek is lényegesen ritkábbak.
Ha tudsz C-ül, akkor nem a VB felé kellene ellépned, hanem Visual Cpp-re átnyergelned, vagy megtanulnod, hogyan kell GUI-t fejleszteni, vagy egyáltalán, grafikus felületet összekapcsolni a saját programod kódjával.
Használhatsz valamilyen ablakozó és grafikus könyvtárakat.
Én az SFML-t ajánlanám.
Ha érdekel akkor itt van egy tutorial ami segít létrehozni az első sfml + codeblocks project -edet, és egy példaprogram ami megnyit egy ablakot, majd rajzol bele egy kört.
egy kis kedvcsináló (random youtube videó): https://www.youtube.com/watch?v=LrEvoKI07Ww
elfedi előled az oprendszerek különbségeit
Köszi szépen srácok..igen a fordítót tudom hogy kell csak elfelejtettem beleírni most már megoldottam QT-t tanulom cpp-vel..Még annyi hogy ilyenkor magát a nyelvet vagy a program(QT)-hoz használt komplikáltabb parancssorokat(komplikaltabb alatt azt értem hogy nem "cout" "if" és társaik)
tanuljam meg? mert amilyen parancsokat látok mondjuk egy egyszerű login screen készítése alatt hát nem tudom valahogy..xd
Esetleg magyar nyelvű tutorial a QT+Cpp-hez??
Ui.:Nagyon köszi a válaszokat megy a pacsi mindenkinek...
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!