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