Innholdsfortegnelse:
- Trinn 1: Den brede oversikten
- Trinn 2: Forutsetninger
- Trinn 3: "Hei verden" i Pygame Zero
- Trinn 4: Tegn skuespilleren din
- Trinn 5: Kontroller skuespilleren
- Trinn 6: Bygg sporet
- Trinn 7: Bilkrasj
- Trinn 8: Kjør spillet på Raspberry Pi
- Trinn 9: vant du?
- Trinn 10: Konklusjon
Video: Lag ditt første racingspill: 10 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Hvis du har gjort noen Python -koding og ønsket å skrive et spill du kan ha på tvers av Pygame Zero.
I denne opplæringen skriver vi et enkelt racingspill.
Trinn 1: Den brede oversikten
Pygame -modulen legger til mange funksjoner som hjelper deg med å skrive spill i Python.
Pygame Zero går et skritt videre for å la deg hoppe over den vanskelige prosessen med å lage alle disse spillløkkene og sette opp programstrukturen din.
Pygame Zero er et godt valg for alle som ønsker å begynne å skrive dataspill på Raspberry Pi eller hvilken som helst Linux -maskin.
Du vil trenge:
- Maskin som kjører Linux OS
- Editor for å skrive python -program
- Tastatur
- Litt fantasi
Filer:
github.com/AhmNouira/-Racing-Game
Trinn 2: Forutsetninger
Først skal jeg bruke min bærbare med Ubuntu 18.04 OS. Deretter kjører vi spillet på Raspberry Pi i trinn 8.
Før du fortsetter med denne opplæringen, må du kontrollere at du er logget på som en bruker med sudo -rettigheter.
Installere pip for Python 3
Start med å oppdatere pakkelisten ved å bruke følgende kommando:
sudo apt oppdatering
Bruk følgende kommando for å installere pip for Python 3:
sudo apt installer python3-pip
bekreft installasjonen ved å sjekke pip -versjonen:
pip3 -versjon
Installere Pygame Zero
pip3 installer pgzero --bruker
Dette vil også installere Pygame. Forhåndskompilerte Pygame-pakker
Så det første trinnet i reisen din vil være å åpne Python 3 IDLE eller din favoritt python -editor.
Trinn 3: "Hei verden" i Pygame Zero
Som standard åpnes vinduet Pygame Zero i størrelsen 800 piksler bredt og 600 piksler høyt. Du kan tilpasse
størrelsen på vinduet ditt, er det to forhåndsbestemte variabler du kan angi, hvis du inkluderer WIDTH = 700 HIGH = 800.
Pygame zero gir forhåndsdefinerte funksjoner for å håndtere spillløkken som normalt utfører:
Draw () Funksjonen
Vi kan skrive denne funksjonen inn i programmet vårt på samme måte som vi normalt ville definert en funksjon i Python.
Pygame Zero følger de samme formateringsreglene som Python, så du må passe på å innrykke koden riktig.
#!/usr/bin/python3 # angi tolken
import pgzrun # import pgzero modul WIDTH = 700 # bredde på vinduet HEIGHT = 800 # høyde på vinduet def draw (): # pygame zero draw function screen. fyll ((128, 128, 128)) # fyll skjermen med RGB color screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Først av alt må du lagre programfilen og gi den et navn.
Åpne deretter et Terminal -vindu, gå til filplasseringen og skriv:
./.py
Trinn 4: Tegn skuespilleren din
Nå som vi har scenen satt, kan vi lage våre skuespillere, de er dynamiske objekter i Pygame Zero.
Vi kan laste inn en skuespiller ved å skrive inn toppen av programmet:
bil = skuespiller ("racer car")
I Pygame Zero må bildene våre lagres i en katalog som heter bilder, ved siden av programfilen vår. Så vår skuespiller ville lete etter en bildefil i bildemappen kalt racecar.png. Det kan være en GIF- eller en JPG-fil, men det anbefales at bildene dine er PNG-filer, da filtypen gir bilder av god kvalitet med transparenter.
Du kan angi posisjonen på skjermen ved å skrive:
bil.pos = 350, 560
Etter det i vår draw () -funksjon kan vi skrive
car.draw () # tegne racerbilen til den definerte posisjonen
Hele programmet vil være slik:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # bredde på vinduet HEIGHT = 800 # høyde på vinduet bil = Actor ("racer car") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # fyll skjermen med car.draw () pgzrun.go ()
Test programmet for å sikre at dette fungerer.
Trinn 5: Kontroller skuespilleren
Når vi har tegnet bilen på skjermen, er neste trinn å gjøre spilleren i stand til å flytte den.
Vi kan gjøre dette med tastetrykk. Vi kan lese tilstanden til disse tastene inne i en annen forhåndsdefinert funksjon som kalles oppdatering ().
Oppdateringen () -funksjonen
Denne funksjonen kontrolleres kontinuerlig mens spillet kjører.
Vi må skrive noen kode for å oppdage tastetrykk på piltastene og også gjøre noe med det.
Så vi legger til denne funksjonen i programmet vårt
def oppdatering ():
hvis tastatur. venstre: bil.x -= 2 hvis tastatur. høyre: bil.x += 2 hvis tastatur. opp: bil.y -= 2 hvis tastatur. ned: bil.y += 2
Disse kodelinjene vil flytte bilskuespilleren til venstre, høyre, fremover og bakover.
Trinn 6: Bygg sporet
Nå som vi har en bil som vi kan styre, trenger vi et spor for at den skal kjøre videre.
Vi skal bygge banen vår ut av Actors, en rad om gangen. Vi må lage noen lister for å holde oversikt over skuespillerne vi lager.
Vi må også sette opp noen flere variabler for sporet.
La oss deretter lage en ny funksjon kalt makeTrack (). Funksjonen vil legge til ett spor Actor til venstre og en til høyre, begge ved å bruke bildet bare-p.webp
trackLeft = # liste for å lagre venstre barrierer
trackRight = # liste for å lagre høyre barries trackCount = 0 # tell antall barries trackPosition = 350 trackWidth = 150 # bredde mellom venstre og høyre barrierer def makeTrack (): # funksjon for å lage en barrie på venstre og høyre globale trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Det neste vi må gjøre er å flytte delene av sporet nedover skjermen mot bilen.
La oss skrive en ny funksjon som heter updateTrack (), Denne funksjonen oppdaterer hvor sporblokkene vil vises. Sporbitene lages av tilfeldige tall, så hvert spill er annerledes.
trackDriction = False
SPEED = 4 # angir spillets hastighet fra tilfeldig import randint # importer randint -klassen fra tilfeldig modul def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 mens b
Vennligst referer til zip -filen under navnet "RaceGameDemo".
Hvis vi kjører koden vår for øyeblikket, bør vi se et spor som sniker seg ned mot bilen. Det eneste problemet er at vi kan flytte bilen over sporbarrierer, og vi vil beholde bilen inne i dem med noe kollisjonsdeteksjon.
Trinn 7: Bilkrasj
Vi må sørge for at bilen vår ikke berører banen Actors.
vi kan like godt teste for kollisjoner ved å bruke metoden colliderect () i vår updateTrack () -funksjon.
I dette spillet vil vi ha tre forskjellige tilstander til spillet lagret i vår variable gameStatus:
- gameStatus == 0 # spillet kjører
- gameStatus == 1 # bilulykke
- gameStatus == 2 # spillet er ferdig
Vi må endre vår draw () -funksjon og vår update () -funksjon for å svare på gameStatus -variabelen.
Finpuss
Alt vi trenger å gjøre nå er å vise noe hvis gameStatus er satt til 1 eller 2, for eksempel bør vi vise en rød
flagg, hvis bilen krasjet. Vi kan gjøre det med koden nedenfor:
screen.blit ("redflag", (230, 230))
For å se om bilen har nådd mål, bør vi telle hvor mange baneseksjoner som er opprettet, og kanskje når vi kommer til 200, sett gameStatus til 2. Vis deretter det rutete flagget:
screen.blit ("finishflag", (230, 230))
Vi vil også vise litt tekst på skjermen som den nåværende poengsummen til spillet.
Ta en titt på hele kodelisten for å se hvordan alt dette henger sammen.
Trinn 8: Kjør spillet på Raspberry Pi
På Raspberry Pi har pgzero blitt installert som standard siden utgivelsen av Raspbian Jessie i september 2015.
Bare oppdater Raspberry Pi ved å bruke kommandoen:
sudo apt-get oppdatering
Gå til filplasseringen din og skriv inn Terminal.
pgzrun.py
Trinn 9: vant du?
Du kan gjøre spillet enklere eller vanskeligere ved å endre trackWidth -variabelen for å gjøre sporet til en annen bredde. Du kan endre verdien til SPEED for å få sporet til å bevege seg raskere eller langsommere.
Trinn 10: Konklusjon
Pygame Zero er et godt valg for alle som ønsker å begynne å skrive dataspill.
Hvis du har spørsmål kan du selvfølgelig legge igjen en kommentar. For å se mer om verkene mine, vennligst besøk kanalen min:
myYouTube
myTwitter
myLinkedin
Takk for at du leser denne instruktive ^^ og ha en fin dag. Vi ses. Ahmed Nouira.
Anbefalt:
Skrive ditt første dataprogram: 10 trinn
Skrive ditt første dataprogram: Hvorfor programmere? Dataprogrammering eller "koding" virker veldig skremmende. Du tror kanskje ikke at du ikke vet nok om datamaskiner og frykter ideen om feilsøkingsproblemer som dukker opp på din egen personlige bærbare. Hvis du tror at din
Slik skriver du ditt første Java -program: 5 trinn
Slik skriver du ditt første Java -program: Denne opplæringen viser deg hvordan du skriver ditt første Java -program trinn for trinn
Opprette ditt første nettsted: 10 trinn
Opprette ditt første nettsted: I denne opplæringen lærer du å bygge en grunnleggende webside som har et koblet stilark og interaktiv javascript -fil
Lag ditt første C ++ - program (Windows): 12 trinn
Lag ditt første C ++ - program (Windows): Hei håpefulle kodere! Vil du kunne fortelle vennene dine at du har laget et program? Kanskje du bare leter etter et bra sted å komme i gang for å se om dette ville være en interessant hobby? Det spiller ingen rolle hvor kjent du er med nav
Lag ditt første nettsted fra bunnen av: 4 trinn
Lag ditt første nettsted fra bunnen av: Denne instruksjonsfilen vil vise deg hvordan du lager ditt helt eget nettsted, helt fra bunnen av uten å lære praktisk talt noen html, og helt gratis, selv om det er nødvendig med noen ferdigheter i et malingsprogram, men hvis du ikke har den ferdigheten kan du søke i