Indholdsfortegnelse:

Opret dit første racerspil: 10 trin
Opret dit første racerspil: 10 trin

Video: Opret dit første racerspil: 10 trin

Video: Opret dit første racerspil: 10 trin
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Image
Image
Billede
Billede

Hvis du har lavet noget Python -kodning og gerne vil skrive et spil, du måske har på tværs af Pygame Zero.

I denne vejledning skriver vi et simpelt racerspil.

Trin 1: Det brede overblik

Pygame -modulet tilføjer mange funktioner, der hjælper dig med at skrive spil i Python.

Pygame Zero går et skridt videre for at lade dig springe over den besværlige proces med at lave alle de spilløkker og opsætte din programstruktur.

Pygame Zero er et godt valg for alle, der ønsker at begynde at skrive computerspil på Raspberry Pi eller en hvilken som helst Linux -maskine.

Du skal bruge:

  • Maskine, der kører Linux OS
  • Editor til at skrive python -program
  • Tastatur
  • Noget fantasi

Filer:

github.com/AhmNouira/-Racing-Game

Trin 2: Forudsætninger

Først vil jeg bruge min bærbare computer med Ubuntu 18.04 OS. Derefter kører vi spillet på Raspberry Pi i trin 8.

Inden du fortsætter med denne vejledning, skal du sørge for at være logget ind som en bruger med sudo -rettigheder.

Installation af pip til Python 3

Start med at opdatere pakkelisten ved hjælp af følgende kommando:

sudo apt opdatering

Brug følgende kommando til at installere pip til Python 3:

sudo apt installer python3-pip

verificer installationen ved at kontrollere pip -versionen:

pip3 -version

Installation af Pygame Zero

pip3 installer pgzero --bruger

Dette vil også installere Pygame. Forudkompilerede Pygame-pakker

Så det første trin i din rejse vil være at åbne Python 3 IDLE eller din foretrukne python -editor.

Trin 3: "Hej verden" i Pygame Zero

Som standard åbnes vinduet Pygame Zero i størrelsen 800 pixels bredt og 600 pixels højt. Du kan tilpasse

størrelsen på dit vindue, er der to forudbestemte variabler, du kan indstille, hvis du inkluderer WIDTH = 700 HIGH = 800.

Pygame zero giver foruddefinerede funktioner til at håndtere game loop, der normalt udfører:

Draw () funktionen

Vi kan skrive denne funktion ind i vores program på samme måde som vi normalt ville definere en funktion i Python.

Pygame Zero følger de samme formateringsregler som Python, så du skal passe på at indrykke din kode korrekt.

#!/usr/bin/python3 # indstil tolken

import pgzrun # import pgzero modul WIDTH = 700 # vinduesbredde HØJDE = 800 # højde på vindue def draw (): # pygame zero draw function screen. fill ((128, 128, 128)) # fyld skærmen med RGB farve screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()

Først og fremmest skal du gemme din programfil og give den et navn.

Åbn derefter et Terminal -vindue, gå til din filplacering og skriv:

./.py

Trin 4: Tegn din skuespiller

Tegning af din skuespiller
Tegning af din skuespiller

Nu hvor vi har vores scene, kan vi oprette vores skuespillere, de er dynamiske objekter i Pygame Zero.

Vi kan indlæse en skuespiller ved at indtaste toppen af programmet:

bil = skuespiller ("racerbil")

I Pygame Zero skal vores billeder gemmes i et bibliotek kaldet billeder ved siden af vores programfil. Så vores skuespiller ville lede efter en billedfil i billedmappen kaldet racecar.png. Det kan være en GIF- eller en JPG-fil, men det anbefales, at dine billeder er PNG-filer, da den filtype giver billeder i god kvalitet med transparenter.

Du kan indstille sin position på skærmen ved at skrive:

bil.pos = 350, 560

Derefter kan vi skrive i vores draw () -funktion

car.draw () # tegn vores racerbil på dens definerede position

Hele programmet vil være sådan:

#!/usr/bin/python3

import pgzrun WIDTH = 700 # vinduesbredde HØJDE = 800 # vinduesbilens højde = Actor ("racercar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # fyld skærmen med car.draw () pgzrun.go ()

Test dit program for at sikre, at dette virker.

Trin 5: Kontroller skuespilleren

Kontroller skuespilleren
Kontroller skuespilleren

Når vi har vores bil tegnet på skærmen, er det næste trin at sætte spilleren i stand til at flytte den.

Vi kan gøre dette med tastetryk. Vi kan læse tilstanden for disse nøgler inde i en anden foruddefineret funktion kaldet opdatering ().

Opdateringen () -funktionen

Denne funktion kontrolleres løbende, mens spillet kører.

Vi skal skrive en kode for at registrere tastetryk på piletasterne og også gøre noget ved det.

Så vi tilføjer denne funktion til vores program

def opdatering ():

hvis tastatur. venstre: bil.x -= 2 hvis tastatur. højre: bil.x += 2 hvis tastatur. op: bil.y -= 2 hvis tastatur. ned: bil.y += 2

Disse kodelinjer vil flytte bilskuespilleren til venstre, højre, frem og tilbage.

Trin 6: Bygning af banen

Bygger banen
Bygger banen

Nu hvor vi har en bil, som vi kan styre, har vi brug for et spor for at den kan køre videre.

Vi skal bygge vores spor ud af Actors, en række ad gangen. Vi bliver nødt til at lave nogle lister for at holde styr på de skuespillere, vi opretter.

Vi bliver også nødt til at oprette et par flere variabler til sporet.

Lad os derefter lave en ny funktion kaldet makeTrack (). Funktionen tilføjer et spor Actor til venstre og en til højre, begge ved hjælp af billedet bare-p.webp

trackLeft = # liste til at gemme venstre barrierer

trackRight = # liste til lagring af højre barries trackCount = 0 # tæl antallet af barries trackPosition = 350 trackWidth = 150 # bredde mellem venstre og højre barrierer def makeTrack (): # funktion til at lave en barrie ved venstre og højre globale trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1

Den næste ting, vi skal gøre, er at flytte delene af sporet ned ad skærmen mod bilen.

Lad os skrive en ny funktion kaldet updateTrack (), Denne funktion opdaterer, hvor sporblokkene vil blive vist. Sporbrikkerne er skabt af tilfældige tal, så hvert spil er forskelligt.

trackDriction = Falsk

SPEED = 4 # indstiller spillets hastighed fra tilfældig import randint # importerer randint -klassen fra tilfældigt modul def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 mens b 32: if trackDirection == False: trackPosition += 16 if trackDirection == True: trackPosition - = 16 if randint (0, 4) == 1: trackDirection = not trackDirection if trackPosition> 700 - trackWidth: trackDirection = True if trackPosition < trackWidth: trackDirection = False makeTrack () # opret et nyt spor øverst på skærmen

Se venligst zip -filen herunder med navnet "RaceGameDemo".

Hvis vi kører vores kode i øjeblikket, skulle vi se et spor snige sig ned mod bilen. Det eneste problem er, at vi kan flytte bilen over sporbarrierne, og vi vil gerne beholde bilen inde i dem med en vis kollisionsdetektion.

Trin 7: Bilulykke

Bilulykke
Bilulykke
Bilulykke
Bilulykke
Bilulykke
Bilulykke

Vi skal sørge for, at vores bil ikke rører banen Actors.

vi kan lige så godt teste for kollisioner ved hjælp af metoden colliderect () i vores updateTrack () -funktion.

I dette spil vil vi have tre forskellige tilstande til spillet gemt i vores variable gameStatus:

  • gameStatus == 0 # spillet kører
  • gameStatus == 1 # bilulykke
  • gameStatus == 2 # spillet er afsluttet

Vi bliver nødt til at ændre vores draw () -funktion og vores update () -funktion for at reagere på gamestatus -variablen.

Sidste hånd

Alt, hvad vi skal gøre nu, er at vise noget, hvis gameStatus er indstillet til 1 eller 2, for eksempel skal vi vise en rød

flag, hvis bilen kørte. Vi kan gøre det med nedenstående kode:

screen.blit ("redflag", (230, 230))

For at se, om bilen er nået i mål, skal vi tælle, hvor mange banesektioner der er blevet oprettet, og måske når vi kommer til 200, skal du indstille gameStatus til 2. Vis derefter det ternede flag:

screen.blit ("finishflag", (230, 230))

Vi vil også vise noget tekst på skærmen som den aktuelle score i spillet.

Tag et kig på den fulde kodeliste for at se, hvordan alt dette hænger sammen.

Trin 8: Kør spillet på Raspberry Pi

Kør spillet på Raspberry Pi
Kør spillet på Raspberry Pi
Kør spillet på Raspberry Pi
Kør spillet på Raspberry Pi

På Raspberry Pi er pgzero blevet installeret som standard siden udgivelsen af Raspbian Jessie i september 2015.

Opdater bare din Raspberry Pi ved at bruge kommandoen:

sudo apt-get opdatering

Gå til din filplacering, og indtast Terminal.

pgzrun.py

Trin 9: Vandt du?

Vandt du?
Vandt du?

Du kan gøre spillet lettere eller sværere ved at ændre trackWidth -variablen for at gøre sporet til en anden bredde. Du kan ændre værdien af SPEED for at få sporet til at bevæge sig hurtigere eller langsommere.

Trin 10: Konklusion

Pygame Zero er et godt valg for alle, der ønsker at begynde at skrive computerspil.

Hvis du har spørgsmål, kan du naturligvis efterlade en kommentar. For at se mere om mine værker, besøg min kanal:

myYouTube

myTwitter

myLinkedin

Tak fordi du læste dette instruerbare ^^ og hav en dejlig dag. Vi ses. Ahmed Nouira.

Anbefalede: