Talaan ng mga Nilalaman:
- Hakbang 1: Ang Malawakang Pangkalahatang-ideya
- Hakbang 2: Mga Kinakailangan
- Hakbang 3: "Hello World" sa Pygame Zero
- Hakbang 4: Pagguhit ng Iyong Artista
- Hakbang 5: Kontrolin ang Artista
- Hakbang 6: Pagbuo ng Subaybayan
- Hakbang 7: Pag-crash ng Kotse
- Hakbang 8: Patakbuhin ang Laro sa Raspberry Pi
- Hakbang 9: Nanalo Ka Ba?
- Hakbang 10: Konklusyon
Video: Lumikha ng Iyong Unang Laro sa Karera: 10 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kung nagawa mo na ang ilang Python coding at nais mong magsulat ng isang laro na maaaring mayroon ka sa buong Pygame Zero.
Sa tutorial na ito magsusulat kami ng isang simpleng laro ng karera.
Hakbang 1: Ang Malawakang Pangkalahatang-ideya
Ang module ng Pygame ay nagdaragdag ng maraming mga pag-andar na makakatulong sa iyo na magsulat ng mga laro sa Python.
Ang Pygame Zero ay nagpapatuloy sa isang hakbang upang payagan kang laktawan ang proseso ng paggawa ng lahat ng mga loop ng laro at i-set up ang istraktura ng iyong programa.
Ang Pygame Zero ay isang mahusay na pagpipilian para sa sinumang nais na magsimulang magsulat ng mga laro sa computer sa Raspberry Pi o anumang Linux machine.
Kakailanganin mo:
- Makina na nagpapatakbo ng Linux OS
- Editor upang magsulat ng programa ng sawa
- Keyboard
- Ilang imahinasyon
Mga file:
github.com/AhmNouira/-Racing-Game
Hakbang 2: Mga Kinakailangan
Una kong gagamitin ang aking laptop sa Ubuntu 18.04 OS. Pagkatapos ay tatakbo namin ang laro sa Raspberry Pi sa hakbang 8.
Bago magpatuloy sa tutorial na ito, tiyaking naka-log in ka bilang isang gumagamit na may mga pribilehiyong sudo.
Pag-install ng pip para sa Python 3
Magsimula sa pamamagitan ng pag-update ng listahan ng pakete gamit ang sumusunod na utos:
sudo apt update
Gamitin ang sumusunod na utos upang mag-install ng pip para sa Python 3:
sudo apt i-install ang python3-pip
i-verify ang pag-install sa pamamagitan ng pagsuri sa bersyon ng pip:
pip3 --versi
Pag-install ng Pygame Zero
pip3 install pgzero --user
I-install din nito ang Pygame. Paunang naipon na mga pakete ng Pygame
Kaya ang unang hakbang sa iyong paglalakbay ay upang buksan ang Python 3 IDLE o ang iyong paboritong editor ng sawa.
Hakbang 3: "Hello World" sa Pygame Zero
Bilang default, magbubukas ang window ng Pygame Zero sa sukat na 800 pixel ang lapad ng 600 pixel ang taas. Maaari mong ipasadya
ang laki ng iyong window, mayroong dalawang mga natukoy na mga variable na maaari mong itakda, kung isasama mo ang LAKI = 700 TAAS = 800.
Nagbibigay ang Pygame zero ng mga paunang natukoy na pag-andar upang hawakan ang loop ng laro na normal na gumaganap:
Ang gumuhit () Pag-andar
Maaari naming isulat ang pagpapaandar na ito sa aming programa ng pareho sa karaniwang tinutukoy namin ng isang pagpapaandar sa Python.
Sinusunod ng Pygame Zero ang parehong mga patakaran sa pag-format bilang Python, kaya kakailanganin mong mag-ingat upang ma-indent nang tama ang iyong code.
#! / usr / bin / python3 # itakda ang interpreter
import pgzrun # import pgzero module WIDTH = 700 # lapad ng window HEIGHT = 800 # taas ng window def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # punan ang screen ng RGB color screen.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()
Una sa lahat kailangan mong i-save ang iyong file ng programa at bigyan ito ng isang pangalan.
Pagkatapos buksan ang isang window ng Terminal, pumunta sa lokasyon ng iyong file at i-type:
./.py
Hakbang 4: Pagguhit ng Iyong Artista
Ngayon na mayroon na kaming set ng entablado, makakalikha kami ng aming Mga Aktor, ang mga ito ay mga dynamic na bagay sa Pygame Zero.
Maaari kaming mag-load ng isang Artista sa pamamagitan ng pagta-type sa tuktok ng programa:
kotse = Artista ("racecar")
Sa Pygame Zero ang aming mga imahe ay kailangang maiimbak sa isang direktoryo na tinatawag na mga imahe, sa tabi ng aming file ng programa. Kaya't ang aming Actor ay naghahanap ng isang file ng imahe sa folder ng mga imahe na tinatawag na racecar.png. Maaari itong isang GIF o isang-j.webp
Maaari mong itakda ang posisyon nito sa screen sa pamamagitan ng pagta-type:
kotse.pos = 350, 560
Pagkatapos nito sa aming pagguhit ng () paggana maaari naming mai-type
car.draw () # iguhit ang aming karera ng kotse sa tinukoy nitong posisyon
Ang buong programa ay magiging ganito:
#! / usr / bin / python3
import pgzrun WIDTH = 700 # lapad ng window HEIGHT = 800 # taas ng window car = Actor ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw function screen.fill ((128, 128, 128)) # punan ang screen ng car.draw () pgzrun.go ()
Subukan ang iyong programa upang matiyak na gumagana ito.
Hakbang 5: Kontrolin ang Artista
Kapag mayroon kaming pagguhit ng aming kotse sa screen, ang susunod na yugto ay upang paganahin ang manlalaro na ilipat ito.
Magagawa natin ito sa mga pangunahing pagpindot. Maaari nating basahin ang estado ng mga key na ito sa loob ng isa pang natukoy na pagpapaandar na tinatawag na update ().
Ang pag-update () Pag-andar
Ang pagpapaandar na ito ay patuloy na nasusuri habang tumatakbo ang laro.
Kailangan naming magsulat ng ilang code upang makita ang mga pangunahing pagpindot sa mga arrow key at upang magawa ang tungkol dito.
Kaya idaragdag namin ang pagpapaandar na ito sa aming programa
def update ():
kung keyboard.left: car.x - = 2 kung keyboard. Right: car.x + = 2 kung keyboard.up: car.y - = 2 kung keyboard.down: car.y + = 2
Ang mga linya ng code na ito ay lilipat sa kotse Actor pakaliwa, pakanan, pasulong at paatras.
Hakbang 6: Pagbuo ng Subaybayan
Ngayon na mayroon kaming isang kotse na maaari naming patnubayan, kailangan namin ng isang track upang ito ay makapagmaneho.
Buuin namin ang aming track sa labas ng Mga Aktor, isang hilera nang paisa-isa. Kakailanganin naming gumawa ng ilang mga listahan upang subaybayan ang mga Gumagawa ng Mga Aktor.
Kakailanganin din naming mag-set up ng ilang higit pang mga variable para sa track.
Pagkatapos gumawa tayo ng isang bagong pag-andar na tinatawag na makeTrack (), Ang pagpapaandar ay magdagdag ng isang track Actor sa kaliwa at isa sa kanan, kapwa gumagamit ng imahe hubad-p.webp
trackLeft = # na listahan upang maiimbak ang mga kaliwang barry
trackRight = # listahan upang mag-imbak ng kanang barry trackCount = 0 # bilangin ang bilang ng mga barry trackPosition = 350 trackWidth = 150 # ang lapad sa pagitan ng kaliwa at kanang mga barry def makeTrack (): # function upang makagawa ng isang barrie sa kaliwa at kanang pandaigdigang trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Actor ("hubad", pos = (trackPosition-trackWidth, 0))) trackRight.append (Actor ("hubad", pos = (trackPosition + trackWidth, 0))) trackCount + = 1
Ang susunod na bagay na kailangan nating gawin ay ilipat ang mga seksyon ng track down ang screen patungo sa kotse.
Sumulat tayo ng isang bagong pagpapaandar na tinatawag na updateTrack (), Ina-update ng pagpapaandar na ito kung saan lilitaw ang mga bloke ng track. Ang mga piraso ng track ay nilikha ng mga random na numero upang magkakaiba ang bawat pag-play.
trackDriction = Mali
Ang SPEED = 4 # ay nagtatakda ng bilis ng laro mula sa random import randint # import ang randint class mula sa random module def updateTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 habang b
Mangyaring mag-refer sa zip file sa ibaba na pinangalanang "RaceGameDemo".
Kung pinapatakbo namin ang aming code sa ngayon, dapat naming makita ang isang track na bumababa patungo sa kotse. Ang nag-iisang problema ay maaari nating ilipat ang kotse sa mga track ng hadlang at nais naming panatilihin ang kotse sa loob ng mga ito ng ilang pagtuklas ng banggaan.
Hakbang 7: Pag-crash ng Kotse
Kailangan naming tiyakin na ang aming sasakyan ay hindi nakakaantig sa mga track ng Aktor.
maaari rin nating subukan ang mga banggaan gamit ang colliderect ng pamamaraan () sa aming pag-andar ng updateTrack ().
Sa larong ito magkakaroon kami ng tatlong magkakaibang estado sa larong nakaimbak sa aming variable na laroStatus:
- gameStatus == 0 # laro ay tumatakbo
- gameStatus == 1 # pag-crash ng kotse
- gameStatus == 2 # game tapos na
Kakailanganin naming baguhin ang paggana ng aming draw () at ang aming pag-update () na paggana upang tumugon sa variable ng gameStatus.
Tinatapos ang mga ugnayan
Ang kailangan lang nating gawin ngayon ay upang maipakita ang isang bagay kung ang gameStatus ay nakatakda sa 1 o 2, halimbawa dapat kaming magpakita ng pula
bandila, kung ang kotse ay nag-crash. Maaari nating gawin iyon sa code sa ibaba:
screen.blit ("redflag", (230, 230))
Upang makita kung ang kotse ay umabot sa tapusin, dapat nating bilangin kung gaano karaming mga seksyon ng track ang nilikha at pagkatapos ay marahil pagdating namin sa 200, itakda ang gameStatus sa 2. Pagkatapos ay ipakita ang may checkered flag:
screen.blit ("finishflag", (230, 230))
Magpapakita rin kami ng ilang teksto sa screen tulad ng kasalukuyang marka ng laro.
Tingnan ang buong listahan ng code upang makita kung paano ito magkakasya.
Hakbang 8: Patakbuhin ang Laro sa Raspberry Pi
Sa Raspberry Pi pgzero ay na-install bilang default mula nang ilabas ang Raspbian Jessie noong Setyembre 2015.
I-update lamang ang iyong Raspberry Pi sa pamamagitan ng paggamit ng utos:
sudo apt-get update
Pumunta sa lokasyon ng iyong file at i-type ang Terminal.
pgzrun.py
Hakbang 9: Nanalo Ka Ba?
Maaari mong gawing mas madali o mahirap ang laro sa pamamagitan ng pagbabago ng variable ng trackWidth upang gawing ibang lapad ang track. Maaari mong baguhin ang halaga ng SPEED upang gawing mas mabilis o mas mabagal ang track.
Hakbang 10: Konklusyon
Ang Pygame Zero ay isang mahusay na pagpipilian para sa sinumang nais na magsimulang magsulat ng mga laro sa computer.
Kung mayroon kang anumang katanungan siyempre maaari kang mag-iwan ng isang puna. Upang makita ang higit pa tungkol sa aking mga gawa mangyaring bisitahin ang aking channel:
myYouTube
myTwitter
myLinkedin
Salamat sa pagbabasa ng itinuturo na ito ^^ at magandang araw. Hanggang sa muli. Ahmed Nouira.
Inirerekumendang:
Lumikha ng Iyong Sariling Mga Headphone Mula sa Mga Hilaw na Materyales: 6 Mga Hakbang (na may Mga Larawan)
Lumikha ng Iyong Sariling Mga Headphone Mula sa Mga Hilaw na Materyales: Dito lilikha kami ng ilang isinapersonal na Mga Headphone, simula sa hilaw na materyal! Makikita namin ang prinsipyo ng pagtatrabaho, kung paano gumawa ng isang bersyon ng poorman โข ng isang nagsasalita na may lamang ilang mga hilaw na materyales, at pagkatapos ay isang mas pino bersyon gamit ang disenyo ng 3D at 3D printin
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: 8 Hakbang
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: Gumawa ako ng ilang gawang-bahay na Arduboy na may memorya ng Serial Flash na maaaring mag-imbak ng max 500 na laro upang maglaro sa kalsada. Inaasahan kong ibahagi kung paano mag-load ng mga laro dito, kasama ang kung paano mag-imbak ng mga laro sa serial flash memory at lumikha ng iyong sariling pinagsama-samang package ng laro
Stand sa Budget sa Pagmamaneho ng Gulong para sa Mga Simulator ng Karera: 8 Mga Hakbang (na may Mga Larawan)
Budget Driving Wheel Stand para sa Racing Simulator: Kaya nakuha mo ang isang snazzy bagong Playstation para sa Chrismahanukwanzamas, ngayon nais mong i-play ang iyong matamis na bagong mga laro ng racing sim? Teka muna. Ang crappy old laptop table na iyon ay hindi pipigilan ng mga gulong ng feedback ng mataas na puwersa ngayon. Kaya, nais mong makakuha ng isang
Paano Suriin Kung Tumatakbo ang isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: 4 Mga Hakbang
Paano Suriin Kung Tumatakbo ang Isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: Kamakailan-lamang na nakuha ko ang Tawag ng Tanghalan 4 mula sa isang kaibigan (nang libre ay maaari kong idagdag) dahil hindi tatakbo sa kanyang computer. Sa gayon, ang kanyang computer ay medyo bago, at ikinagulat ako nito kung bakit hindi ito tatakbo. Kaya pagkatapos ng ilang oras na paghahanap ng internet, napag-alaman ko
Programming ang Karera ng Laro sa Scratch: 7 Hakbang
Pagprograma ng Laro sa Karera sa Scratch: Ipapakita sa iyo ng tutorial na ito kung paano mag-program ng isang larong karera sa loob ng Scratch ng MIT