Sfml leckét, térképet, térkép letöltését, kychka-pc, sfml
Számos módon lehet kártyát felvenni a játékunkba. Ma elemezzük a legegyszerűbbet, hogy megértsük. Tehát a térkép egy készlet
Tehát - ebben az esetben három négyzet (téglalap), de egy kép, nos, mint mindig. A jobb oldali fehér háttér elhagytam csak az Ön és a képzeletem számára, hogy lerázhatod (festeni a jobb oldalon) és kísérletet. Minden négyzet nagysága 32 * 32. Ezért a feltételektől függően ki kell választanunk a kívánt mezőt a programban. Próbáljuk meg:
Hozzon létre egy külön fejlécfájlt a térképhez. A bal oldalon, a Solution Explorerben kattintson jobb egérgombbal az elemre „forrás fájlok”, válassza a „add”, „hozzon létre egy elemet”, „fejléc fayl.h” hívják map.h kattintson rendben. Most ebben a fájlban a következőket írjuk:
ha (TileMap [i] [j] == '') s_map. setTextureRect (IntRect (0, 32 32)); // Ha egy szóköz karaktert tapasztal, akkor húzza az 1. négyzetet
ha (TileMap [i] [j] == 's') s_map. setTextureRect (IntRect (32. 32. 32)); // ha találkoztál a szimbólummal, majd húzd ki a második négyzetet
ha ((TileMap [i] [j] == '0')) s_map. setTextureRect (IntRect (64. 0. 32. 32)); // ha találkoztál a 0 szimbólummal, akkor húzd ki a 3d négyzetet
s_map. setPosition (j * 32. i * 32); // Tény, hogy elterjeszti a négyzeteket, és áttér a térképre. vagyis mindegyiknek ad helyet. ha eltávolításra kerül, az egész térképet egy 32 * 32-es négyzetben fogjuk megrajzolni és egy négyzetet látunk
ablakot. felhívni (s_map); // felhívja a négyzeteket a képernyőre
A térkép húzta. Futtathatja az alkalmazást. A kamera áll, és a következő leckében fogunk dolgozni a kamerát, majd erőt a hős, hogy befolyásolja a térképi elemek (pl egy kő) és tégla (nem adnak ki, hogy egy ütközés).
Amint látja, minden sprites egymásra helyezkedik, és van átláthatóság. Nézd meg, hogyan viszonyul az oroszlán és a kő grafikusan:
Slyunki folyik, mi?
ha (TileMap [i] [j] == '') s_map. setTextureRect (IntRect (0, 32 32)); // Ha egy szóköz karaktert tapasztal, akkor húzza az 1. négyzetet
ha (TileMap [i] [j] == 's') s_map. setTextureRect (IntRect (32. 32. 32)); // ha találkoztál a szimbólummal, majd húzd ki a második négyzetet
ha ((TileMap [i] [j] == '0')) s_map. setTextureRect (IntRect (64. 0. 32. 32)); // ha találkoztál a 0 szimbólummal, akkor húzd ki a 3d négyzetet
s_map. setPosition (j * 32. i * 32); // Tény, hogy elterjeszti a négyzeteket, és áttér a térképre. vagyis mindegyiknek ad helyet. ha eltávolításra kerül, az egész térképet egy 32 * 32-es négyzetben fogjuk megrajzolni és egy négyzetet látunk
ablakot. felhívni (s_map); // felhívja a négyzeteket a képernyőre