Tartalomjegyzék:
- 1. lépés: A széles áttekintés
- 2. lépés: Előfeltételek
- 3. lépés: "Hello World" a Pygame Zero -ban
- 4. lépés: Rajzold le a színészedet
- 5. lépés: A színész irányítása
- 6. lépés: A pálya építése
- 7. lépés: Autóbaleset
- 8. lépés: Futtassa a játékot a Raspberry Pi -n
- 9. lépés: Nyertél?
- 10. lépés: Következtetés
Videó: Hozza létre első versenyjátékát: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ha végzett néhány Python -kódolást, és játékot akart írni, akkor lehet, hogy a Pygame Zero -n keresztül.
Ebben az oktatóanyagban egy egyszerű versenyjátékot fogunk írni.
1. lépés: A széles áttekintés
A Pygame modul számos olyan funkciót ad hozzá, amelyek segítenek játékokat írni Pythonban.
A Pygame Zero egy lépéssel tovább megy, hogy átugorja a játék hurkok létrehozásának és a programszerkezet beállításának nehézkes folyamatát.
A Pygame Zero nagyszerű választás mindazoknak, akik számítógépes játékok írását szeretnék elkezdeni a Raspberry Pi vagy bármely Linux gépen.
Szükséged lesz:
- Linux operációs rendszert futtató gép
- Szerkesztő python program írására
- Billentyűzet
- Némi képzelet
Fájlok:
github.com/AhmNouira/-Racing-Game
2. lépés: Előfeltételek
Először a laptopomat fogom használni az Ubuntu 18.04 operációs rendszerrel. Ezután a Raspberry Pi -n futtatjuk a játékot a 8. lépésben.
Az oktatóanyag folytatása előtt győződjön meg arról, hogy sudo jogosultságokkal rendelkező felhasználóként van bejelentkezve.
A pip telepítése a Python 3 -hoz
Kezdje a csomaglista frissítésével a következő paranccsal:
sudo apt frissítés
Használja a következő parancsot a pip telepítéséhez a Python 3 számára:
sudo apt install python3-pip
ellenőrizze a telepítést a pip verziójának ellenőrzésével:
pip3 --verzió
A Pygame Zero telepítése
pip3 install pgzero --user
Ez telepíti a Pygame -et is. Előre összeállított Pygame csomagok
Tehát az utazás első lépése a Python 3 IDLE vagy a kedvenc pythonszerkesztőjének megnyitása lesz.
3. lépés: "Hello World" a Pygame Zero -ban
Alapértelmezés szerint a Pygame Zero ablak 800 pixel széles és 600 pixel magas méretben nyílik meg. Testreszabhatja
Az ablak méretének megfelelően két előre meghatározott változót állíthat be, ha WIDTH = 700 HIGH = 800 értéket tartalmaz.
A Pygame zero előre definiált funkciókat biztosít a játékhurok normál működésének kezelésére:
A draw () függvény
Ezt a függvényt ugyanúgy beírhatjuk a programunkba, mint a Pythonban általában definiálnánk.
A Pygame Zero ugyanazokat a formázási szabályokat követi, mint a Python, ezért ügyelnie kell a kód helyes behúzására.
#!/usr/bin/python3 # állítsa be a tolmácsot
import pgzrun # import pgzero modul WIDTH = 700 # az ablak szélessége HEIGHT = 800 # az ablak magassága def draw (): # pygame zero draw funkció screen.fill ((128, 128, 128)) # töltse ki a képernyőt RGB -vel színes screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Először is el kell menteni a programfájlt, és nevet kell adni neki.
Ezután nyissa meg a Terminál ablakot, menjen a fájl helyére, és írja be:
./.py
4. lépés: Rajzold le a színészedet
Most, hogy megvan a színpadunk, létrehozhatjuk színészeinket, ők a Pygame Zero dinamikus objektumai.
Egy színészt betölthetünk a program tetejére beírva:
autó = színész ("versenyautó")
A Pygame Zero programban a képeinket a images nevű könyvtárban kell tárolni, a programfájlunk mellett. Így színészünk egy képfájlt keresne a racecar.png nevű képek mappában. Ez lehet GIF vagy-j.webp
Beállíthatja a pozícióját a képernyőn, ha beírja:
autó.pos = 350, 560
Ezt követően a draw () függvényben gépelhetünk
car.draw () # rajzolja versenyautónkat a meghatározott pozícióba
A teljes program a következő lesz:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # az ablak szélessége HEIGHT = 800 # az ablak magassága autó = Színész ("versenyautó") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # töltse ki a képernyőt car.draw () pgzrun.go ()
Tesztelje a programot, hogy megbizonyosodjon arról, hogy ez működik.
5. lépés: A színész irányítása
Miután az autó rajzát a képernyőn láttuk, a következő lépés az, hogy a játékos mozgassa azt.
Ezt gombnyomással tehetjük meg. Ezeknek a kulcsoknak az állapotát leolvashatjuk egy másik előre meghatározott függvényben (update ()).
A frissítés () függvény
Ezt a funkciót a játék futása közben folyamatosan ellenőrzik.
Írnunk kell egy kódot, hogy érzékeljük a nyílbillentyűk lenyomását, és tegyünk is valamit.
Tehát ezt a funkciót hozzáadjuk a programunkhoz
def frissítés ():
ha billentyűzet.bal: autó.x -= 2 ha billentyűzet.jobbra: autó.x += 2 ha billentyűzet.fel: autó.y -= 2 ha billentyűzet.le: autó.y += 2
Ezek a kódsorok mozgatják az autó színészét balra, jobbra, előre és hátra.
6. lépés: A pálya építése
Most, hogy van egy autónk, amit kormányozhatunk, szükségünk van egy pályára, amin tovább tudunk haladni.
Színészekből fogjuk felépíteni a pályánkat, egy sorban. Létre kell hoznunk néhány listát, hogy nyomon követhessük az általunk létrehozott Színészeket.
Ezenkívül még néhány változót be kell állítanunk a pályához.
Ezután készítsünk egy új függvényt, a makeTrack () nevű funkciót. A funkció hozzáad egy színész Actor -t a bal oldalon, egyet pedig a jobb oldalon, mindkettőt a images-p.webp
trackLeft = # lista a bal oldali korlátok tárolására
trackRight = # lista a jobb oldali barry -k tárolásához trackCount = 0 # számolja a barry -k számát trackPosition = 350 trackWidth = 150 # szélesség a bal és jobb oldali korlátok között def makeTrack (): # függvény, amely egy sávot készít a bal és jobb globális trackCount számban, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Színész ("bare", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("bare", pos = (trackPosition + trackWidth, 0))) trackCount += 1
A következő dolog, amit meg kell tennünk, az, hogy a pályaszakaszokat a képernyőn lefelé mozdítsuk az autó felé.
Írjunk egy új függvényt updateTrack () néven. Ez a funkció frissíti a sávblokkok megjelenési helyét. A számrészeket véletlen számok hozzák létre, így minden lejátszás más.
trackDriction = Hamis
SPEED = 4 # a játék sebességét állítja be véletlenszerű importálásból randint # importálja a randint osztályt véletlenszerű modulból def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0, míg b
Kérjük, tekintse meg az alábbi "RaceGameDemo" nevű zip fájlt.
Ha pillanatnyilag futtatjuk a kódunkat, látnunk kell, hogy egy pálya kígyózott az autó felé. Az egyetlen probléma az, hogy át tudjuk vinni az autót a pálya korlátain, és szeretnénk bennük tartani az autót némi ütközésérzékeléssel.
7. lépés: Autóbaleset
Gondoskodnunk kell arról, hogy autónk ne érintse a Színészek pályát.
tesztelhetjük az ütközéseket az updateTrack () függvényben található colliderect () módszerrel.
Ebben a játékban a játéknak három különböző állapota lesz a változó gameStatus állapotában:
- gameStatus == 0 # játék fut
- gameStatus == 1 # autóbaleset
- gameStatus == 2 # játék befejeződött
Meg kell változtatnunk a draw () függvényünket és az update () függvényünket, hogy válaszoljunk a gameStatus változóra.
Utolsó simítások
Mindössze annyit kell tennünk, hogy valamit megjelenítünk, ha a gameStatus értéke 1 vagy 2, például egy pirosat kell megjelenítenünk
zászló, ha az autó lezuhant. Ezt az alábbi kóddal tehetjük meg:
screen.blit ("redflag", (230, 230))
Ahhoz, hogy lássuk, elérte -e az autó a célt, számolnunk kell, hogy hány pályaszakaszt hoztunk létre, majd ha elérjük a 200 -at, állítsuk a gameStatus értéket 2 -re. Ezután jelenítsük meg a kockás zászlót:
screen.blit ("finishflag", (230, 230))
Néhány szöveget is megjelenítünk a képernyőn, például a játék aktuális pontszámát.
Nézze meg a teljes kódlistát, hogy megtudja, hogyan illeszkedik ez az egész.
8. lépés: Futtassa a játékot a Raspberry Pi -n
A Raspberry Pi rendszeren a pgzero alapértelmezés szerint telepítve van a Raspbian Jessie 2015 szeptemberi megjelenése óta.
Csak frissítse a Raspberry Pi -t a következő paranccsal:
sudo apt-get update
Lépjen a fájl helyére, és írja be a terminált.
pgzrun.py
9. lépés: Nyertél?
Megkönnyítheti vagy megnehezítheti a játékot a trackWidth változó megváltoztatásával, hogy a pálya szélessége eltérő legyen. A SPEED értékét úgy módosíthatja, hogy a pálya gyorsabban vagy lassabban mozogjon.
10. lépés: Következtetés
A Pygame Zero nagyszerű választás mindazoknak, akik számítógépes játékok írásával akarnak kezdeni.
Ha bármilyen kérdése van, természetesen megjegyzést írhat. Ha többet szeretne megtudni a munkáimról, látogasson el csatornámra:
myYouTube
myTwitter
myLinkedin
Köszönöm, hogy elolvastad ezt az útmutatót ^^ és további szép napot. Szia. Ahmed Nouira.
Ajánlott:
Hozza létre saját utasítását: 7 lépés
Hozzon létre saját utasítást: Szia srácok! Ebben az oktatóanyagban néhány egyszerű lépésben végigvezetem Önt, hogy elindítson egy oktatható profilt, és ossza meg alkotásait és ötleteit
Hozza létre saját beléptető rendszerét a Please-open.it segítségével: 4 lépés
Építse fel saját beléptető rendszerét a Please-open.it segítségével: A Please-open.it székhelye Franciaország, és teljes munkaidőben dolgozunk ezen a projekten. Azt akarjuk, hogy a vállalkozások (szállodák, kempingek, állomások, bérleti díjak…) részesüljenek a rugalmasabb megoldásokból és természetesen alacsonyabb áron. Csatlakoztasson minden belső adatot (találkozó
Hozza létre saját kibővített kontextusát; a TfCD projekt: 7 lépés (képekkel)
Hozza létre saját kibővített kontextusát; a TfCD projekt: Ez az utasítás elmagyarázza, hogyan adhat hozzá extra kiterjesztett élményt fizikai környezetéhez az okostelefon használatával. Megoszthatja ezt az élményt másokkal, és hagyhatja, hogy lássák, mely elemek rejtőznek a világban, amely csak hozzáférhető
Hozza létre az „Ultimate Craigslist Notification Tool” eszközt: 5 lépés
Hozza létre az „Ultimate Craigslist Notification Tool” eszközt: Figyelmeztetés: ez a projekt a mac felhasználók számára készült. Rendben. Minden craigslist -felhasználónak egyszer vagy kétszer megtörtént. Meglepődött az új USB kávéscsésze -melegítőn 10 dollárért, és megtudja, hogy a szomszédja vásárolta meg először. &Quot; Ha csak " kívánod és quo
HOZZA HOZZÁ SAJÁT FORRÁSI STANDJÁT: 3 lépés
HOZZA SAJÁT FORRÁSI STAND -OTTHON: Szia ………………… én linston sequeira vagyok ……. és ebben megmutatom neked tanulságos, hogyan építhet saját forrasztóállványt ………. szemétből és törmelékből ………………… ahelyett, hogy körülbelül 8 dollárt költene igényes állvány vásárlása