Innehållsförteckning:
- Steg 1: Den breda översikten
- Steg 2: Förkunskaper
- Steg 3: "Hej världen" i Pygame Zero
- Steg 4: Rita din skådespelare
- Steg 5: Kontrollera skådespelaren
- Steg 6: Bygga banan
- Steg 7: Bilkrasch
- Steg 8: Kör spelet på Raspberry Pi
- Steg 9: Vann du?
- Steg 10: Slutsats
Video: Skapa ditt första racingspel: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Om du har gjort lite Python -kodning och ville skriva ett spel som du kanske har över Pygame Zero.
I denna handledning skriver vi ett enkelt racingspel.
Steg 1: Den breda översikten
Pygame -modulen lägger till många funktioner som hjälper dig att skriva spel i Python.
Pygame Zero går ett steg längre för att låta dig hoppa över den besvärliga processen att göra alla dessa spelslingor och konfigurera din programstruktur.
Pygame Zero är ett utmärkt val för alla som vill börja skriva datorspel på Raspberry Pi eller någon Linux -maskin.
Du kommer att behöva:
- Maskin som kör Linux OS
- Redaktör för att skriva python -program
- Tangentbord
- Lite fantasi
Filer:
github.com/AhmNouira/-Racing-Game
Steg 2: Förkunskaper
Först kommer jag att använda min bärbara dator med Ubuntu 18.04 OS. Sedan kör vi spelet på Raspberry Pi i steg 8.
Innan du fortsätter med denna handledning, se till att du är inloggad som en användare med sudo -privilegier.
Installera pip för Python 3
Börja med att uppdatera paketlistan med följande kommando:
sudo apt uppdatering
Använd följande kommando för att installera pip för Python 3:
sudo apt installera python3-pip
verifiera installationen genom att kontrollera pipversionen:
pip3 -version
Installera Pygame Zero
pip3 installera pgzero --användare
Detta kommer också att installera Pygame. Förkompilerade Pygame-paket
Så det första steget i din resa blir att öppna Python 3 IDLE eller din favorit pythonredigerare.
Steg 3: "Hej världen" i Pygame Zero
Som standard öppnas fönstret Pygame Zero med storleken 800 pixlar bred och 600 pixlar hög. Du kan anpassa
storleken på ditt fönster, finns det två förutbestämda variabler du kan ställa in, om du inkluderar WIDTH = 700 HIGH = 800.
Pygame zero ger fördefinierade funktioner för att hantera spelslingan som normalt utför:
Draw () funktionen
Vi kan skriva in den här funktionen i vårt program på samma sätt som vi normalt skulle definiera en funktion i Python.
Pygame Zero följer samma formateringsregler som Python, så du måste vara noga med att dra in koden korrekt.
#!/usr/bin/python3 # ställ in tolkaren
import pgzrun # import pgzero -modul WIDTH = 700 # fönsterbredd HEIGHT = 800 # höjd på fönstret def draw (): # pygame zero draw function screen. fyllning ((128, 128, 128)) # fyll skärmen med RGB color screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Först och främst måste du spara din programfil och ge den ett namn.
Öppna sedan ett terminalfönster, gå till din filplats och skriv:
./.py
Steg 4: Rita din skådespelare
Nu när vi har vår scenuppsättning kan vi skapa våra skådespelare, de är dynamiska objekt i Pygame Zero.
Vi kan ladda en skådespelare genom att skriva högst upp i programmet:
bil = skådespelare ("racecar")
I Pygame Zero måste våra bilder lagras i en katalog som heter bilder, bredvid vår programfil. Så vår skådespelare skulle leta efter en bildfil i bildmappen som heter racecar.png. Det kan vara en GIF- eller en JPG-fil, men det rekommenderas att dina bilder är PNG-filer eftersom den filtypen ger bilder av god kvalitet med OH-film.
Du kan ställa in dess position på skärmen genom att skriva:
bil.pos = 350, 560
Efter det i vår draw () -funktion kan vi skriva
car.draw () # rita vår racerbil på dess definierade position
Hela programmet kommer att se ut så här:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # fönsterbredd HEIGHT = 800 # fönsterhöjd = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # fyll skärmen med car.draw () pgzrun.go ()
Testa ditt program för att se till att det fungerar.
Steg 5: Kontrollera skådespelaren
När vi väl har vår bil ritad på skärmen är nästa steg att låta spelaren flytta den.
Vi kan göra detta med knapptryckningar. Vi kan läsa tillståndet för dessa nycklar i en annan fördefinierad funktion som kallas update ().
Uppdateringen () -funktionen
Denna funktion kontrolleras kontinuerligt medan spelet körs.
Vi måste skriva lite kod för att upptäcka knapptryckningar på piltangenterna och också göra något åt det.
Så vi kommer att lägga till den här funktionen i vårt program
def update ():
om tangentbordet.vänster: bil.x -= 2 om tangentbordet.höger: bil.x += 2 om tangentbordet.upp: bil.y -= 2 om tangentbordet. ned: bil.y += 2
Dessa kodrader kommer att flytta bilen Actor vänster, höger, framåt och bakåt.
Steg 6: Bygga banan
Nu när vi har en bil som vi kan styra, behöver vi en bana för att den ska köra på.
Vi ska bygga vårt spår av Actors, en rad i taget. Vi måste göra några listor för att hålla reda på skådespelarna vi skapar.
Vi kommer också att behöva ställa in några fler variabler för spåret.
Låt oss sedan skapa en ny funktion som heter makeTrack (). Funktionen lägger till ett spår Actor till vänster och en till höger, båda med bilden bare-p.webp
trackLeft = # lista för att lagra vänster barriär
trackRight = # lista för att lagra höger barries trackCount = 0 # räkna antalet barries trackPosition = 350 trackWidth = 150 # bredd mellan vänster och höger barry def makeTrack (): # funktion för att göra en barrie vid vänster och höger global trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
Nästa sak som vi behöver göra är att flytta delarna av spåret ner på skärmen mot bilen.
Låt oss skriva en ny funktion som heter updateTrack (), den här funktionen uppdaterar var spårblocken kommer att visas. Spårbitarna skapas av slumpmässiga nummer så varje spelning är annorlunda.
trackDriction = False
SPEED = 4 # ställer in spelets hastighet från slumpmässig import randint # importerar randintklassen från random module def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 medan b
Se zip -filen nedan med namnet "RaceGameDemo".
Om vi kör vår kod för tillfället borde vi se ett spår som smyger ner mot bilen. Det enda problemet är att vi kan flytta bilen över spårbarriärerna och vi vill behålla bilen inuti dem med viss kollisionsdetektering.
Steg 7: Bilkrasch
Vi måste se till att vår bil inte vidrör spåret Actors.
vi kan lika gärna testa kollisioner med hjälp av metoden colliderect () i vår updateTrack () -funktion.
I det här spelet kommer vi att ha tre olika tillstånd till spelet lagrat i vårt variabla gameStatus:
- gameStatus == 0 # spelet körs
- gameStatus == 1 # bilolycka
- gameStatus == 2 # spelet är klart
Vi måste ändra vår draw () -funktion och vår update () -funktion för att svara på gamestatus -variabeln.
Finputsning
Allt vi behöver göra nu är att visa något om gameStatus är inställt på 1 eller 2, till exempel bör vi visa en röd
flagga, om bilen kraschade. Vi kan göra det med koden nedan:
screen.blit ("redflag", (230, 230))
För att se om bilen har nått mål bör vi räkna hur många spåravsnitt som har skapats och sedan kanske när vi kommer till 200, ställ gameStatus till 2. Visa sedan den rutiga flaggan:
screen.blit ("finishflag", (230, 230))
Vi kommer också att visa lite text på skärmen som spelets nuvarande poäng.
Ta en titt på hela kodlistan för att se hur allt hänger ihop.
Steg 8: Kör spelet på Raspberry Pi
På Raspberry Pi har pgzero installerats som standard sedan Raspbian Jessie släpptes i september 2015.
Uppdatera bara din Raspberry Pi med kommandot:
sudo apt-get uppdatering
Gå till din filplats och skriv in Terminal.
pgzrun.py
Steg 9: Vann du?
Du kan göra spelet enklare eller svårare genom att ändra trackWidth -variabeln för att göra spåret till en annan bredd. Du kan ändra värdet på SPEED för att få spåret att gå snabbare eller långsammare.
Steg 10: Slutsats
Pygame Zero är ett utmärkt val för alla som vill börja skriva datorspel.
Om du har några frågor kan du naturligtvis lämna en kommentar. För att se mer om mina verk, besök min kanal:
myYouTube
myTwitter
myLinkedin
Tack för att du läste detta instruerbara ^^ och ha en trevlig dag. Vi ses. Ahmed Nouira.
Rekommenderad:
Skapa din första webbplats: 10 steg
Skapa din första webbplats: I den här självstudien lär du dig att bygga en grundläggande webbsida som har ett länkat formatmall och interaktiv javascript -fil
Skapa din första webbplats från början: 4 steg
Skapa din första webbplats från början: Den här instruerbara kommer att visa dig hur du skapar din egen webbplats helt från grunden utan att lära dig praktiskt taget någon html och helt gratis, även om viss färdighet i ett färgprogram behövs, men om du inte har den färdigheten kan du söka
Speed Simulator för racingspel eller Coaster Simulatorer: 5 steg (med bilder)
Speed Simulator för racingspel eller Coaster Simulatorer: ett enkelt projekt, en fläkt kommer att blåsa luft i ditt ansikte enligt hastigheten i spelet. Lätt att göra och roligt
Skapa ditt första program i Visual Basic: 7 steg
Skapa ditt första program i Visual Basic: Den här instruktionsboken visar hur du programmerar Microsoft Visual Basic 2005 Express Edition. Exemplet som du kommer att skapa idag är en enkel bildvisare. Om du gillar det här instruerbara, vänligen tryck på + -knappen högst upp på instruktionsboken. Tacka
Gör grafik för ett Scratch -racingspel: 7 steg
Gör grafik för ett Scratch -racingspel: Denna handledning visar dig hur du gör ett racingspel inuti Scratch