Talaan ng mga Nilalaman:

Lumikha ng Iyong Unang Laro sa Karera: 10 Mga Hakbang
Lumikha ng Iyong Unang Laro sa Karera: 10 Mga Hakbang

Video: Lumikha ng Iyong Unang Laro sa Karera: 10 Mga Hakbang

Video: Lumikha ng Iyong Unang Laro sa Karera: 10 Mga Hakbang
Video: ANG GANDA NG MISIS NI RIGOR!๐Ÿ˜#johnestrada #prescillameirelles 2024, Nobyembre
Anonim
Image
Image
Larawan
Larawan

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

Pagguhit ng Iyong Artista
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

Kontrolin ang Artista
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

Pagbuo ng Subaybayan
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 32: kung trackDirection == Mali: trackPosition + = 16 kung trackDirection == True: trackPosition - = 16 kung randint (0, 4) == 1: trackDirection = hindi trackDirection kung trackPosition> 700 - trackWidth: trackDirection = True kung trackPosition < trackWidth: trackDirection = False makeTrack () # lumikha ng isang bagong track sa tuktok ng screen

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

Aksidente
Aksidente
Aksidente
Aksidente
Aksidente
Aksidente

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

Patakbuhin ang Laro sa Raspberry Pi
Patakbuhin ang Laro sa Raspberry Pi
Patakbuhin ang Laro sa Raspberry Pi
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?

Nanalo ka ba?
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: