Агуулгын хүснэгт:

Анхны уралдааны тоглоомоо бүтээгээрэй: 10 алхам
Анхны уралдааны тоглоомоо бүтээгээрэй: 10 алхам

Видео: Анхны уралдааны тоглоомоо бүтээгээрэй: 10 алхам

Видео: Анхны уралдааны тоглоомоо бүтээгээрэй: 10 алхам
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Долдугаар сарын
Anonim
Image
Image
Зураг
Зураг

Хэрэв та Python кодчилол хийж, тоглоом бичихийг хүсч байсан бол Pygame Zero дээр байж магадгүй юм.

Энэхүү гарын авлагад бид энгийн уралдааны тоглоом бичих болно.

Алхам 1: Өргөн тойм

Pygame модуль нь Python дээр тоглоом бичихэд туслах олон функцийг нэмдэг.

Pygame Zero нь нэг алхам урагшилж, тоглоомын бүх гогцоо хийх, програмынхаа бүтцийг тохируулах маш хэцүү үйл явцыг алгасах боломжийг танд олгоно.

Pygame Zero бол Raspberry Pi эсвэл Линукс дээр ажилладаг компьютер дээр компьютер тоглоом бичиж эхлэх хүсэлтэй бүх хүмүүст тохиромжтой сонголт юм.

Танд хэрэгтэй болно:

  • Linux OS дээр ажилладаг машин
  • Python програм бичих редактор
  • Гар
  • Зарим төсөөлөл

Файлууд:

github.com/AhmNouira/-Racing-Game

Алхам 2: Урьдчилсан нөхцөл

Эхлээд би зөөврийн компьютерээ Ubuntu 18.04 үйлдлийн системтэй ашиглах болно. Дараа нь бид 8 -р алхам дээр Raspberry Pi дээр тоглоомыг ажиллуулах болно.

Энэ хичээлийг үргэлжлүүлэхийн өмнө sudo давуу эрхтэй хэрэглэгчээр нэвтэрсэн эсэхээ шалгаарай.

Python 3 -д зориулсан пип суулгаж байна

Дараах тушаалыг ашиглан багцын жагсаалтыг шинэчилж эхэлнэ үү.

sudo apt update

Python 3 дээр pip суулгахын тулд дараах тушаалыг ашиглана уу.

sudo apt install python3-pip

pip хувилбарыг шалгаж суулгалтыг баталгаажуулна уу.

pip3 -хувилбар

Pygame Zero суулгаж байна

pip3 суулгах pgzero --user

Энэ нь мөн Pygame суулгах болно. Урьдчилан эмхэтгэсэн Pygame багцууд

Тиймээс таны аялалын эхний алхам бол Python 3 IDLE эсвэл дуртай питон засварлагчаа нээх явдал юм.

Алхам 3: Pygame Zero дахь "Hello World"

Анхдагч байдлаар, Pygame Zero цонх нь 800 пикселийн өргөн, 600 пикселийн өндөрт нээгддэг. Та тохируулж болно

Хэрэв та WIDTH = 700 HIGH = 800 -г оруулбал цонхныхоо хэмжээг тохируулж болох хоёр хувьсагч байдаг.

Pygame zero нь ихэвчлэн гүйцэтгэдэг тоглоомын хүрдийг зохицуулахын тулд урьдчилан тодорхойлсон функцүүдийг өгдөг.

Draw () функц

Бид энэ функцийг Python дээр ердийн функцийг тодорхойлдог шиг програмдаа бичиж болно.

Pygame Zero нь Python -тэй ижил форматлах дүрмийг дагаж мөрддөг тул та кодыг зөв догол мөр оруулах хэрэгтэй.

#!/usr/bin/python3 # орчуулагчийг тохируулна уу

import pgzrun # import pgzero module WIDTH = 700 # цонхны өргөн HEIGHT = 800 # цонхны өндөр def draw (): # pygame zero draw функцийн дэлгэц. бөглөх ((128, 128, 128)) # дэлгэцийг RGB -ээр дүүргэх өнгөт дэлгэц.draw.text ("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go ()

Юуны өмнө та програмын файлыг хадгалж, нэр өгөх хэрэгтэй.

Дараа нь Терминал цонхыг нээгээд файлынхаа байршил руу ороод дараах зүйлийг бичнэ үү.

./.py

Алхам 4: Жүжигчин зурах

Жүжигчингээ зурж байна
Жүжигчингээ зурж байна

Бид тайзны тайзаа тавьсны дараа бид жүжигчдээ бүтээж чадна, эдгээр нь Pygame Zero дахь динамик объект юм.

Бид програмын дээд хэсэгт бичээд Жүжигчнийг ачаалах боломжтой.

машин = Жүжигчин ("уралдааны машин")

Pygame Zero -д бидний зургууд програмын файлын хажууд байрлах зураг гэсэн лавлах санд хадгалагдах ёстой бөгөөд ингэснээр манай жүжигчин racecar.png нэртэй зургийн хавтаснаас зургийн файл хайх болно. Энэ нь GIF эсвэл-j.webp

Та дэлгэцэн дээрх байрлалыг дараах байдлаар бичиж болно.

машин.pos = 350, 560

Үүний дараа draw () функц дээр бид бичиж болно

car.draw () # уралдааны машинаа тодорхойлсон байрлалдаа зур

Бүрэн програм дараах байдлаар байх болно.

#!/usr/bin/python3

import pgzrun WIDTH = 700 # цонхны өргөн HEIGHT = 800 # цонхны машины өндөр = Жүжигчин ("racecar") car.pos = 350, 560 def draw (): # pygame zero draw функцийн дэлгэц.fill ((128, 128, 128)) # дэлгэцийг машинаар дүүргэ.draw () pgzrun.go ()

Энэ нь ажиллаж байгаа эсэхийг шалгахын тулд програмаа туршиж үзээрэй.

Алхам 5: Жүжигчнийг хянах

Жүжигчнийг хянах
Жүжигчнийг хянах

Бид машинаа дэлгэцэн дээр зурсны дараа дараагийн алхам бол тоглогчийг хөдөлгөх боломжийг олгох явдал юм.

Бид үүнийг товчлуур дээр дарж хийж болно. Бид эдгээр түлхүүрүүдийн төлөвийг update () гэж нэрлэгддэг өөр урьдчилан тодорхойлсон функц дотор уншиж болно.

Шинэчлэлт () функц

Тоглоом ажиллаж байх үед энэ функцийг байнга шалгадаг.

Бид сумны товчлуурыг дарж байгааг илрүүлэхийн тулд ямар нэгэн код бичих хэрэгтэй.

Тиймээс бид энэ функцийг програмдаа нэмж оруулах болно

def update ():

хэрэв keyboard.left: car.x -= 2 бол keyboard.right: car.x += 2 бол keyboard.up: car.y -= 2 бол keyboard. down: car.y += 2

Эдгээр кодын мөрүүд нь Жүжигчин машиныг зүүн, баруун, урагш, урагшлуулах болно.

Алхам 6: Замыг бий болгох

Зам барих
Зам барих

Бид жолоодлоготой машинтай болсон тул түүнийг үргэлжлүүлэх зам хэрэгтэй болно.

Бид жүжигчдээс нэг мөр дараалан замаа бүтээх гэж байна. Бидний бүтээсэн жүжигчдийг бүртгэхийн тулд бид зарим жагсаалт гаргах шаардлагатай болно.

Мөн бид замд хэд хэдэн хувьсагч тохируулах шаардлагатай болно.

Дараа нь makeTrack () нэртэй шинэ функц хийцгээе, функц нь манай зургийн фолдерт bare-p.webp

trackLeft = Зүүн тариа хадгалах # жагсаалт

trackRight = Барриг хадгалах # жагсаалт trackCount = 0 # шар буурцагны тоог тоолох trackPosition = 350 trackWidth = 150 # зүүн ба баруун barries хоорондын өргөн def makeTrack (): Зүүн ба баруун талын нэг track -ийг хийх # функц, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append (Жүжигчин ("нүцгэн", пос = (trackPosition-trackWidth, 0))) trackRight.append (Жүжигчин ("нүцгэн", пос = (trackPosition + trackWidth, 0))) trackCount += 1

Дараагийн хийх ёстой зүйл бол дэлгэцийн хэсгийг машин руу чиглүүлэх явдал юм.

UpdateTrack () нэртэй шинэ функц бичье. Энэ функц нь замын блокууд гарч ирэх газруудыг шинэчилдэг. Дууны хэсгүүдийг санамсаргүй тоогоор бүтээсэн тул тоглох бүр өөр өөр байдаг.

trackDriction = Худал

SPEED = 4 # нь санамсаргүй импорт randint -аас тоглоомын хурдыг тохируулдаг # randint ангийг санамсаргүй модулийн def importTrack (): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 байхад b 32: if trackDirection == False: trackPirect += 16 if trackDirection == True: trackPosition - = 16 if randint (0, 4) == 1: trackDirection = not trackDirection if trackPosition> 700 - trackWidth: trackDirection = TrackPosition < trackWidth: trackDirection = False makeTrack () # дэлгэцийн дээд хэсэгт шинэ зам үүсгэх

Доорх "RaceGameDemo" нэртэй zip файлыг үзнэ үү.

Хэрэв бид одоогоор кодоо ажиллуулж байгаа бол машин руу чиглэн гүйж буй замыг харах ёстой. Ганц асуудал бол бид машинаа замын хашлага дээгүүр зөөж чаддаг бөгөөд мөргөлдөөн илрүүлэх замаар машиныг дотор нь байлгахыг хүсдэг.

Алхам 7: Машины осол

Машины осол
Машины осол
Машины осол
Машины осол
Машины осол
Машины осол

Манай машин Жүжигчдэд хүрэхгүй байх ёстой.

Бид мөн updateTrack () функц дахь colliderect () аргыг ашиглан мөргөлдөөнийг шалгаж болно.

Энэ тоглоомонд бид өөрсдийн хувьсах gameStatus -д хадгалагдсан тоглоомын гурван өөр төлөвтэй байх болно.

  • gameStatus == 0 # тоглоом ажиллаж байна
  • gameStatus == 1 # машины осол
  • gameStatus == 2 # тоглоом дууслаа

GameStatus хувьсагчид хариу өгөхийн тулд бид draw () функц болон update () функцийг өөрчлөх шаардлагатай болно.

Дуусгах ажил

GameStatus -ийг 1 эсвэл 2 болгож тохируулсан бол бид одоо хийх ёстой зүйл бол улаан дэлгэц харуулах ёстой.

туг, хэрэв машин осолдсон бол. Бид үүнийг доорх кодоор хийж болно.

screen.blit ("улаан туг", (230, 230))

Машин дуусах эсэхийг мэдэхийн тулд бид хичнээн олон замын хэсэг үүсгэснийг тоолж, дараа нь 200 хүрэх үед gameStatus -ийг 2 болгож тохируулаарай.

screen.blit ("дуусгах туг", (230, 230))

Бид мөн тоглолтын одоогийн оноо шиг текстийг дэлгэц дээр харуулах болно.

Энэ бүхэн хоорондоо хэрхэн нийцэж байгааг харахын тулд кодын бүрэн жагсаалтыг үзнэ үү.

Алхам 8: Тоглоомыг Raspberry Pi дээр ажиллуулна уу

Тоглоомыг Raspberry Pi дээр ажиллуулна уу
Тоглоомыг Raspberry Pi дээр ажиллуулна уу
Тоглоомыг Raspberry Pi дээр ажиллуулна уу
Тоглоомыг Raspberry Pi дээр ажиллуулна уу

Raspberry Pi дээр pgzero нь 2015 оны 9 -р сард Raspbian Jessie хувилбар гарснаас хойш анхдагч байдлаар суулгагдсан байдаг.

Raspberry Pi -г дараах тушаалыг ашиглан шинэчилнэ үү.

sudo apt-get update

Файлынхаа байршил руу очоод Терминал дээр бичнэ үү.

pgzrun.py

Алхам 9: Та ялсан уу?

Чи хожсон уу?
Чи хожсон уу?

Та trackWidth хувьсагчийг өөр өөр өргөнтэй болгох замаар тоглоомыг хялбарчилж эсвэл хүндрүүлж болно. Хурдны хурдыг удаашруулахын тулд SPEED -ийн утгыг өөрчилж болно.

Алхам 10: Дүгнэлт

Pygame Zero бол компьютер тоглоом бичиж эхлэх хүсэлтэй бүх хүмүүст тохиромжтой сонголт юм.

Хэрэв танд асуулт байгаа бол та сэтгэгдлээ үлдээж болно. Миний уран бүтээлийн талаар илүү ихийг мэдэхийн тулд миний сувгийг үзээрэй.

myYouTube

myTwitter

myLinkedin

Энэхүү зааварчилгааг уншсан танд баярлалаа ^^, өдрийг сайхан өнгөрүүлээрэй. Дараа уулзая. Ахмед Нуира.

Зөвлөмж болгож буй: