Tämä Python-pelikirjasto on täynnä ominaisuuksia, mukaan lukien joitain yksinkertaisia ​​työkaluja, joiden avulla voit luoda tasaisen, parallaksivierityksen.

Selaavat taustat voivat parantaa huomattavasti pelin visuaalista vetovoimaa ja syvyyttä. Ne voivat luoda illuusion liikkeestä ja antaa pelille dynaamisen ja mukaansatempaavan tunteen. Pygamen avulla voit toteuttaa vieritystaustat vain muutamalla yksinkertaisella vaiheella.

Pygame on suosittu Python-kirjasto, jota voit käyttää pelien kehittämiseen. Rullattavien taustojen lisääminen Pygame-projekteihisi herättää ne eloon ja tarjoaa pelaajille kiinnostavamman kokemuksen.

Luo yksinkertainen peli

Ymmärtääksesi Pygamen taustan vierityksen, aloita luomalla yksinkertainen peli, jossa pelaaja voi liikkua vasemmalle ja oikealle. Voit myös sisällyttää kaksi alustaa, joita edustavat suorakulmiot, toimimaan peliympäristönä. Luo uusi tiedosto nimeltä simple-game.py.

Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.

Tuo ensin pygame-moduuli ja alusta se. Määritä sitten pelaajan aloitusasento ja liikenopeus. Luo alustoja käyttämällä pygame. Rect kohteet ja määrittää niiden sijainnit ja mitat.

Käsittele pelisilmukan sisällä tapahtumia, kuten pelin lopettamista. Voit myös käsitellä soittimen liike kosketus- tai näppäimistösyötteiden perusteella.

Tässä on yksinkertaisen pelin tulos:

Luo erilaisia ​​kerroksia

Vieritystehosteen saavuttamiseksi voit luoda useita taustakerroksia eri väreillä. Jokainen kerros liikkuu eri nopeudella, mikä luo parallaksiefektin. Tämä tehoste antaa illuusion syvyydestä ja parantaa liikkeen tunnetta pelissä.

Määrittele kaksi taustatasoa, joista kukin peittää koko peli-ikkunan pygamen avulla. Suorat objektit. Määritä myös kunkin kerroksen värit background_colors lista. The background_speeds lista määrittää nopeuden, jolla jokainen taso liikkuu.

# Lisää tämä koodi edellisen osion alle

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]

Jos haluat luoda vierivän taustatehosteen, sinun on päivitettävä taustakerrosten paikat pelisilmukassa. Siirrät jokaista kerrosta vaakasuunnassa sille määritetyn nopeuden perusteella.

Luo uusi tiedosto nimeltä scrolling-bg.py ja lisää koodi alla olevilla päivityksillä:

varten i sisään alue (len (background_layers)):
background_layers[i].x -= taustan_nopeudet[i]

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

pygame.draw.rect (näyttö, background_colors[i], background_layers[i])

Toista jokaisen taustakerroksen läpi. Vähennä vastaava nopeus tason x-koordinaatista, jolloin se siirtyy vasemmalle. Jos kerros saavuttaa näytön vasemman reunan, palauta sen sijainti oikealle luoden jatkuvan vieritystehosteen.

Lopuksi, piirrä jokainen suorakulmainen taustakerros näytöllä käyttämällä pygame.draw.rect() ja läpäisemällä vastaava väri ja pygame. Suora kohde.

Parallaksiefektin lisääminen liikkuessa

Parallaksiefektin parantamiseksi voit muokata alustan liikettä siten, että se tapahtuu pelaajan liikkuessa. Tämä luo vahvan syvyyden ja dynaamisen liikkeen tunteen. Luo uusi tiedosto nimeltä parallaksi.py ja lisää koodi alla olevilla päivityksillä:

# Määritä lavan sijainnit ja nopeudet
rect1 = pygame. Rect(50, screen_height - 100, 200, 10)
rect2 = pygame. Suora (screen_width - 250, screen_height - 200, 200, 10)

alustat = [
{"oikea": suora1, "nopeus": 3},
{"oikea": rect2, "nopeus": 1}
]

# Lisää tämä koodi pelisilmukan sisään

# Pelaajan liike
avaimet = pygame.key.get_pressed()

jos avaimet[pygame. K_LEFT] ja pelaaja_x > 0:
pelaaja_x - = pelaajan_nopeus

varten alusta sisään alustat:
alusta["oikea"].x -= alusta["nopeus"]

jos avaimet[pygame. K_OIKEA] ja player_x < screen_width:
player_x += player_speed

varten alusta sisään alustat:
alusta["oikea"].x += alusta["nopeus"]

varten alusta sisään alustat:
pygame.draw.rect (näyttö, (0, 255, 0), alusta["oikea"])

Esitä alustat sanakirjoina, jotka sisältävät sekä suorakaiteen objektin (suora) että nopeuden, jolla alustan tulisi liikkua (nopeus). Alustat päivittyvät pelisilmukassa pelaajan liikkeen perusteella.

Kun tämä muutos toteutetaan, vieritystehoste on aktiivinen vain, kun pelaaja liikkuu aktiivisesti, mikä vahvistaa entisestään syvyyden ja liikkeen illuusiota.

Sisältää lisäominaisuuksia

Voit ottaa käyttöön useita lisäominaisuuksia parantaaksesi pelisi vieritystaustaa. Tässä muutamia esimerkkejä.

Satunnaista taustavärit

Voit lisätä vaihtelua taustatasoihin satunnaistamalla niiden värit. Voit tehdä tämän muokkaamalla background_colors lista:

tuonti satunnainen

# Lisää tämä koodi ennen pelisilmukkaa

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))
]

Lisää taustatasoja

Voit kokeilla lisäämällä taustakerroksia rikkaamman parallaksiefektin luomiseksi. Yksinkertaisesti määritä ylimääräinen pygame. Rect kohteet, värit ja nopeudet:

# Lisää tämä koodi ennen pelisilmukkaa

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]

Käytä taustakuvia

Tasaisten värien sijaan voit käyttää kuvatiedostoja taustana. Pygame tarjoaa toimintoja kuvien lataamiseen ja renderöimiseen.

Lataa kuvatiedostot background_0.png, background_1.png, ja background_2.png käyttämällä pygame.image.load(). Käytä convert()-menetelmää parantaaksesi suorituskykyä ja skaalataksesi kuvia vastaamaan näytön mittoja pygame.transform.scale().

# Lisää tämä koodi ennen pelisilmukkaa

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

background_speeds = [1, 2, 3]

varten i sisään alue (len (background_images)):
koko = (näytön_leveys, näytön_korkeus)
background_images[i] = pygame.transform.scale (background_images[i], koko)

Päivitä lopuksi silmukka, johon piirrät taustatasot, jotta voit käyttää kuvia:

# Päivitä tämä koodi pelisilmukan sisällä

varten i sisään alue (len (background_layers)):
background_layers[i].x -= taustan_nopeudet[i]

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

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

Tässä on joitain parhaita käytäntöjä, jotka kannattaa ottaa huomioon, kun otat käyttöön vieritystaustoja Pygame-projekteissasi.

Optimoi suorituskyky

Selaavat taustat sisältävät jatkuvan renderöinnin ja päivityksen. Sujuvan pelin varmistamiseksi harkitse koodin optimointia ja tarpeettomien laskelmien minimoimista.

Kokeile kerrostenopeuksia

Taustatasojen nopeuksien säätäminen voi luoda erilaisia ​​tehosteita. Pelaa eri arvoilla löytääksesi oikean tasapainon ja saavuttaaksesi halutun visuaalisen vaikutuksen.

Testaa erikokoisilla näytöillä

Varmista, että vieritystaustasi toimivat hyvin eri näytön resoluutioilla. Harkitse dynaamisen skaalauksen käyttöönottoa tai eri taustakuvien käyttöä eri kuvasuhteissa.

Käytä sopivia kuvamuotoja

Jos päätät käyttää taustakuvia, valitse sopiva kuvamuoto (esim. PNG, JPEG) tasapainottaaksesi tiedostokokoa ja kuvanlaatua. Voit myös lyhentää latausaikoja pakkaamalla ja optimoimalla kuviasi.

Harkitse muistin käyttöä

Jos aiot käyttää taustana useita korkearesoluutioisia kuvia, muista muistivaatimukset. Suuret kuvat voivat kuluttaa huomattavan määrän muistia, mikä saattaa vaikuttaa pelisi suorituskykyyn ja reagointikykyyn.

Käyttämällä vieriviä taustoja voit luoda erilaisia ​​ympäristöjä, kuten liikkuvia maisemia, futuristisia kaupunkimaisemia tai vedenalaisia ​​maailmoja. Parallaksiefekti lisää dynaamista kosketusta, mikä saa pelimaailman tuntumaan elävältä ja interaktiiviselta.

Muista kokeilla, iteroida ja tutkia luovia mahdollisuuksia vierittävällä taustalla tehdäksesi peleistäsi hauskempia ja kiehtovampia pelaajille.