Ez a Python-játékkönyvtár tele van funkciókkal, köztük néhány egyszerű eszközzel, amellyel sima, parallaxis görgetést hozhat létre.

A hátterek görgetése nagymértékben növelheti a játék vizuális vonzerejét és mélységét. A mozgás illúzióját keltik, dinamikus és magával ragadó érzést adva a játéknak. A Pygame segítségével néhány egyszerű lépésben megvalósíthatja a görgető háttereket.

A Pygame egy népszerű Python-könyvtár, amelyet játékok fejlesztésére használhat. Ha görgető háttereket adsz Pygame-projekteidhez, életre keltik őket, és vonzóbb élményt nyújtanak a játékosok számára.

Hozzon létre egy egyszerű játékot

A Pygame-ben a görgető hátterek fogalmának megértéséhez kezdje el egy egyszerű játék létrehozásával, amelyben a játékos balra és jobbra mozoghat. Két platformot is felvehet, amelyeket téglalapok képviselnek, hogy játékkörnyezetként szolgáljanak. Hozzon létre egy új nevű fájlt simple-game.py.

A cikkben használt kód itt érhető el GitHub adattár és az MIT licence alapján ingyenesen használható.

Először is importálja a pygame modult, és inicializálja. Ezután határozza meg a játékos kezdőpozícióját és mozgási sebességét. Hozzon létre platformokat a segítségével pygame. Rect objektumokat, és meghatározza azok helyzetét és méreteit.

A játékhurokon belül kezelje az eseményeket, például a játékból való kilépést. Te is tudod kezelni a játékos mozgása érintés vagy billentyűzet bemenetek alapján.

Íme az egyszerű játék eredménye:

Hozzon létre különböző rétegeket

A görgető hatás eléréséhez több rétegű hátteret is létrehozhat különböző színekkel. Minden réteg más-más sebességgel mozog, így parallaxis hatást kelt. Ez a hatás a mélység illúzióját kelti, és fokozza a mozgás érzetét a játékban.

Határozzon meg két háttérréteget, amelyek mindegyike lefedi a teljes játékablakot a pygame segítségével. Pontos objektumok. Határozza meg az egyes rétegek színeit is background_colors lista. A background_speeds lista határozza meg az egyes rétegek mozgási sebességét.

# Adja hozzá ezt a kódot az előző rész alá

background_layers = [
pygame. Rect(0, 0, screen_width, screen_height),
pygame. Rect(0, 0, screen_width, screen_height)
]

background_colors = [(30, 30, 30), (60, 60, 60)]
background_speeds = [0.1, 1.0]

A görgető háttéreffektus létrehozásához frissítenie kell a háttérrétegek pozícióit a játékhurokban. Minden réteget vízszintesen mozgat a hozzárendelt sebesség alapján.

Hozzon létre egy új nevű fájlt scrolling-bg.py és adja hozzá a kódot az alábbi frissítésekkel:

számára én ban ben tartomány (len (background_layers)):
background_layers[i].x -= background_speeds[i]

ha background_layers[i].x <= -screen_width:
background_layers[i].x = 0

pygame.draw.rect (képernyő, background_colors[i], background_layers[i])

Ismételje meg az egyes háttérrétegeket. Vonja le a megfelelő sebességet a réteg x-koordinátájából, aminek hatására az elmozdul balra. Ha egy réteg eléri a képernyő bal szélét, állítsa vissza a pozícióját jobbra, így folyamatos görgetési hatást hoz létre.

Végül, rajzoljon minden téglalap háttérréteget segítségével a képernyőn pygame.draw.rect() és átadja a megfelelő színt és pygame-ot. Pontos objektum.

Parallax effektus hozzáadása mozgás közben

A parallaxis hatás fokozása érdekében módosíthatja a platform mozgását, hogy a játékos mozgása közben történjen. Ez erős mélységérzetet és dinamikus mozgást hoz létre. Hozzon létre egy új nevű fájlt parallaxis.py és adja hozzá a kódot az alábbi frissítésekkel:

# Határozza meg a platform helyzetét és sebességét
rect1 = pygame. Rect(50, screen_height - 100, 200, 10)
rect2 = pygame. Egyenes (screen_width - 250, screen_height - 200, 200, 10)

platformok = [
{"helyes": rect1, "sebesség": 3},
{"helyes": rect2, "sebesség": 1}
]

# Adja hozzá ezt a kódot a játékhurokhoz

# Játékos mozgás
keys = pygame.key.get_pressed()

ha kulcsok[pygame. K_LEFT] és játékos_x > 0:
player_x -= player_speed

számára felület ban ben platformok:
felület["helyes"].x -= platform["sebesség"]

ha kulcsok[pygame. K_JOBBRA] és player_x < screen_width:
player_x += player_speed

számára felület ban ben platformok:
felület["helyes"].x += platform["sebesség"]

számára felület ban ben platformok:
pygame.draw.rect (képernyő, (0, 255, 0), felület["helyes"])

A platformokat olyan szótárként ábrázolja, amely tartalmazza a téglalap objektumot (rect) és azt a sebességet, amellyel a platformnak mozognia kell (sebesség). A platformok a játékhurokban frissülnek a játékos mozgása alapján.

Ennek a módosításnak a végrehajtásával a görgetés csak akkor lesz aktív, ha a játékos aktívan mozog, tovább erősítve a mélység és a mozgás illúzióját.

Kiegészítő funkciókkal együtt

Számos további funkcióval javíthatja a görgető hátteret a játékban. Íme néhány példa.

Háttérszínek véletlenszerű beállítása

Ha változatossá kívánja tenni a háttérrétegeket, véletlenszerűen beállíthatja a színeiket. Ezt úgy teheti meg, hogy módosítja a background_colors lista:

import véletlen

# Adja hozzá ezt a kódot a játékhurok előtt

background_colors = [
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)),
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)),
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
]

További háttérrétegek hozzáadása

Kísérletezhet több háttérréteg hozzáadásával gazdagabb parallaxis hatás létrehozásához. Egyszerűen határozza meg a kiegészítőt pygame. Rect tárgyak, színek és sebességek:

# Adja hozzá ezt a kódot a játékhurok előtt

background_layers = [
pygame. Rect(0, 0, screen_width, screen_height),
pygame. Rect(0, 0, screen_width, screen_height),
pygame. Rect(0, 0, screen_width, screen_height),
pygame. Rect(0, 0, screen_width, screen_height)
]

background_colors = [
(30, 30, 30),
(60, 60, 60),
(90, 90, 90),
(120, 120, 120)
]

background_speeds = [1, 2, 3, 4]

Használjon képeket a hátterekhez

Egyszínű színek helyett képfájlokat használhat háttérként. A Pygame funkciókat biztosít a képek betöltéséhez és rendereléséhez.

Töltse be a képfájlokat background_0.png, background_1.png, és background_2.png segítségével pygame.image.load(). Használja a convert() metódust a teljesítmény javítására és a képek méretezésére, hogy azok megfeleljenek a képernyő méreteinek pygame.transform.scale().

# Adja hozzá ezt a kódot a játékhurok előtt

background_images = [
pygame.image.load("background_0.png").alakítani(),
pygame.image.load("background_1.png").alakítani(),
pygame.image.load("background_2.png").alakítani()
]

background_speeds = [1, 2, 3]

számára én ban ben tartomány (len (background_images)):
méret = (képernyő_szélessége, képernyő_magassága)
background_images[i] = pygame.transform.scale (background_images[i], méret)

Végül frissítse a hurkot, ahol a háttérrétegeket rajzolja a képek használatához:

# Frissítse ezt a kódot a játékhurokban

számára én ban ben tartomány (len (background_layers)):
background_layers[i].x -= background_speeds[i]

ha background_layers[i].x <= -screen_width:
background_layers[i].x = 0

screen.blit (background_images[i], background_layers[i])

Íme néhány bevált gyakorlat, amelyeket figyelembe kell venni a görgető hátterek Pygame-projektekben való megvalósítása során.

A teljesítmény optimalizálása

A görgető hátterek folyamatos megjelenítést és frissítést igényelnek. A zökkenőmentes játékmenet biztosítása érdekében fontolja meg a kód optimalizálását és a szükségtelen számítások minimalizálását.

Kísérletezzen a rétegsebességekkel

A háttérrétegek sebességének beállítása különböző hatásokat hozhat létre. Játsszon a különböző értékekkel, hogy megtalálja a megfelelő egyensúlyt és elérje a kívánt vizuális hatást.

Teszt különböző méretű képernyőkön

Győződjön meg arról, hogy a görgető hátterek jól működnek a különböző képernyőfelbontásokon. Fontolja meg a dinamikus méretezés megvalósítását, vagy különböző háttérképek használatát a különböző képarányokhoz.

Használjon megfelelő képformátumokat

Ha úgy dönt, hogy képeket használ hátteréhez, válassza ki a megfelelő képformátumot (pl. PNG, JPEG), hogy egyensúlyba hozza a fájlméretet és a képminőséget. A képek tömörítésével és optimalizálásával is csökkentheti a betöltési időt.

Fontolja meg a memóriahasználatot

Ha sok nagy felbontású képet szeretne használni hátteréhez, ügyeljen a memóriaigényre. A nagyméretű képek jelentős mennyiségű memóriát fogyaszthatnak, ami potenciálisan befolyásolja a játék teljesítményét és válaszkészségét.

A görgető hátterek beépítésével különböző környezeteket hozhat létre, például mozgó tájakat, futurisztikus városképeket vagy víz alatti világokat. A parallaxis effektus dinamikus hatást ad, így a játék világa élővé és interaktívvá válik.

Ne felejtsen el kísérletezni, iterálni és felfedezni a kreatív lehetőségeket görgető hátterekkel, hogy játékait szórakoztatóbbá és magával ragadóbbá tegye a játékosok számára.