Näin voit lisätä peliisi tasoja tehdäksesi siitä kiinnostavampaa ja nautinnollisempaa.
Tasot ovat olennainen osa useimmissa videopeleissä. Ne tarjoavat rakennetta, haastetta ja vaihtelua ja voivat parantaa merkittävästi pelaajan kokemusta. PyGame, suosittu Python-kirjasto pelien kehittämiseen, tarjoaa erilaisia ominaisuuksia, joiden avulla voit helposti luoda erilaisia tasoja. Hyvin suunniteltu taso voi valloittaa pelaajan, luoda tunnetta edistymisestä ja lopulta palkita hänet heidän ponnisteluistaan.
Tasojen suunnittelu ja suunnittelu
Ennen tasojen luomista on välttämätöntä suunnitella ja suunnitella ne. Suunnittelutasot auttavat luomaan hyvin jäsennellyn pelin, joka tarjoaa pelaajille oikean vaikeustason. Tasojen suunnittelussa sinun on otettava huomioon useita tekijöitä, kuten pelin mekaniikka, tarina ja pelin yleinen rakenne.
Jos esimerkiksi suunnittelet tasohyppelypeliä, sinun on mietittävä alustojen sijoittelua, vihollisia ja esteitä. Sinun on myös otettava huomioon pelaajan liike, kuten hyppääminen ja juoksu, ja suunniteltava tasot sen mukaisesti.
Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.
Kahden yksinkertaisen tason luominen
Ennen kuin aloitat, varmista, että sinulla on pip asennettuna järjestelmääsi. Käytä tätä komentoa asentaaksesi pygame kirjasto:
pip asennus pygame
Luo nyt kaksi yksinkertaista tasoa alustalla ja soittimella. Tässä on ensimmäisen tason koodi:
tuonti pygame
pygame.init()
# Määritä vakiot
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 100
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)# Luo näyttö
näyttö = pygame.display.set_mode((KUVARUUTU_LEVEYS, NÄYTÖN_KORKEUS))# Luo alusta
alusta = pygame. Rect(350, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)# Luo soitin
pelaaja = pygame. Rect(375, 450, PLAYER_WIDTH, PLAYER_HEIGHT)# Pelisilmukka
juoksu = Totta
sillä aikaa käynnissä:
varten tapahtuma sisään pygame.event.get():
jos event.type == pygame. LOPETTAA:
juoksu = Väärä
elif event.type == pygame. KEYDOWN:
jos event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_OIKEA:
player.move_ip(10, 0)# Täytä näyttö mustalla värillä
screen.fill((0, 0, 0))# Piirrä alusta
pygame.draw.rect (näyttö, PLATFORM_COLOR, alusta)# Piirrä soitin
pygame.draw.rect (näyttö, PLAYER_COLOR, soitin)# Päivitä näyttö
pygame.display.flip()
pygame.quit()
Sen jälkeen luo toinen taso yksinkertaisesti muuttamalla alustaa ja pelaajan asemaa. Tässä on toisen tason koodi:
tuonti pygame
pygame.init()
# Määritä vakiot
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 150
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)# Luo näyttö
näyttö = pygame.display.set_mode((KUVARUUTU_LEVEYS, NÄYTÖN_KORKEUS))# Luo alusta
alusta = pygame. Rect(200, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)# Luo soitin
pelaaja = pygame. Rect(225, 450, PLAYER_WIDTH, PLAYER_HEIGHT)# Pelisilmukka
juoksu = Totta
sillä aikaa käynnissä:
varten tapahtuma sisään pygame.event.get():
jos event.type == pygame. LOPETTAA:
juoksu = Väärä
elif event.type == pygame. KEYDOWN:
jos event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_OIKEA:
player.move_ip(10, 0)# Täytä näyttö mustalla värillä
screen.fill((0, 0, 0))# Piirrä alusta
pygame.draw.rect (näyttö, PLATFORM_COLOR, alusta)# Piirrä soitin
pygame.draw.rect (näyttö, PLAYER_COLOR, soitin)# Päivitä näyttö
pygame.display.flip()
pygame.quit()
Tämä koodi on samanlainen kuin ensimmäinen taso, mutta alustaa ja pelaajan paikkoja muutetaan.
Eri tasojen yhdistäminen
Eri tasojen yhdistämiseksi sinun on muutettava pelisilmukkaa vaihtaaksesi tasojen välillä, kun pelaaja suorittaa tason. Voit tehdä tämän luomalla muuttujan, joka seuraa nykyistä tasoa, ja käyttämällä ehdollisia lausekkeita vaihtaaksesi tasojen välillä. Voit myös havaita törmäykset tarkistettavaksi jos pelaaja on saavuttanut tason lopun.
Tässä on muokattu pelisilmukka:
nykyinen_taso = 1
# Piirrä alusta ja soitin nykyisen tason perusteella
jos nykyinen_taso == 1:
pygame.draw.rect (näyttö, PLATFORM_COLOR, alusta1)
pygame.draw.rect (näyttö, PLAYER_COLOR, soitin)
# Tarkista, onko pelaaja saavuttanut tason lopun
jos player.colliderect (platform1) == Väärä:
nykyinen_taso = 2
elif nykyinen_taso == 2:
pygame.draw.rect (näyttö, PLATFORM_COLOR, platform2)
pygame.draw.rect (näyttö, PLAYER_COLOR, soitin)
# Tarkista, onko pelaaja saavuttanut tason lopun
jos player.colliderect (platform2) == Totta:
juoksu = Väärä
Pelitietojen jakaminen tasojen välillä
Sinun on tallennettava pelitiedot, jotta voit jakaa ne tasojen välillä. Luo tätä varten erillinen Python-moduuli pelitietojen tallentamiseksi ja tuo ne jokaiselle tasolle.
Tässä ovat vaiheet:
- Luo uusi Python-moduuli nimeltä game_data.py.
- Määritä globaali muuttuja game_data.py moduuli soittimen sijainnin tallentamiseen.
- Tuo kullakin tasolla pelin_tiedot moduuli.
- Voit hakea pelaajan paikan kullakin tasolla käyttämällä game_data.player_pos muuttuja uuden pelaajaobjektin luomisen sijaan.
- Päivitä pelaajan sijainti muuttamalla arvoa game_data.player_pos jokaisessa iteraatiossa.
Tässä on muokattu koodi pelaajan sijainnin jakamiseksi tasojen välillä.
Vuonna game_data.py moduuli, lisää seuraava koodi:
player_pos = (0, 0)
Ensimmäinen taso:
tuonti pygame
tuonti pelin_tiedot# Luo soitin
pelaaja = pygame. Suora (game_data.player_pos[0], game_data.player_pos[1], PLAYER_WIDTH, PLAYER_HEIGHT)# Pelisilmukka
juoksu = Totta
sillä aikaa käynnissä:
# Piirrä soitin
pygame.draw.rect (näyttö, PLAYER_COLOR, soitin)
# Päivitä pelaajan sijainti game_data-moduulissa
game_data.player_pos = (pelaaja.x, pelaaja.y)
Tee peleistä kiinnostavampia tasoilla
Eri tasojen lisääminen peliisi voi tehdä siitä kiinnostavamman ja nautittavamman pelaajille. Yhdistämällä tasoja ja jakamalla pelidataa voit luoda saumattoman ja yhtenäisen pelikokemuksen. Tämä voi auttaa pelaajia pysymään uppoutuneina pelimaailmaan ja vähentämään irrottautumisen tai tylsisyyden todennäköisyyttä.