Kezdőoldal » Számítástechnika » Programozás » Hogyan jutnak el a játékok a...

Hogyan jutnak el a játékok a programkódtól a játszhatóig? Melyik nyelvvel kezdjem?

Figyelt kérdés

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



2017. szept. 28. 22:34
 1/8 anonim ***** válasza:

Ismerkedj meg a Qt-tal:

[link]

2017. szept. 28. 23:08
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
90%

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:

[link]


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.

2017. szept. 29. 00:12
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

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.

2017. szept. 29. 03:42
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:
Értem.A válaszokból azt szűrtem le ,hogy kelenne egy grafikus motor míg magához a basichez nem mivel annyira belemerültem már más nyelvekbe hogy nagyjából tudom a szintaktikát nagy részét lehet hogy egyszerre fogom tanulni a 2t mert VB-ben hamarabb érek el sikereket...egyébként köszi a válaszokat megy a zöld pacsi!:D
2017. szept. 29. 06:19
 5/8 anonim ***** válasza:
Kell hozzá egy fordító. Kiadod a megfelelő utasítást, a szükséges kapcsolókkal, különben nem fog lefordulni. Grafikus felületet több programcsomag tud, mint GTK vagy Qt, keresd meg a megfelelőt. Qt-ben be lehet tenni valahogy egy hátteret.
2017. szept. 29. 07:02
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

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.


[link]


egy kis kedvcsináló (random youtube videó): https://www.youtube.com/watch?v=LrEvoKI07Ww


elfedi előled az oprendszerek különbségeit

2017. szept. 29. 12:34
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:

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...

2017. szept. 29. 17:35
 8/8 anonim ***** válasza:
Először tanuld meg a c++-t, a Qt-hoz szükség van némi objektumorientált ismeretekre.
2017. szept. 29. 20:47
Hasznos számodra ez a válasz?

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!