Žaidimas yra nieko be įvesties, o „Pygame“ palaiko ir pelės, ir jutiklinio įvestį, todėl galite užtikrinti, kad jūsų žaidimas būtų pasiekiamas.

Šiais laikais jutikliniai ekranai yra visur. Nenuostabu, kad žaidimų kūrėjai savo žaidimuose vis dažniau naudoja liečiamą įvestį, o sistemos tai daro vis lengviau.

„PyGame“ leidžia lengvai kurti žaidimus ir programas, kurios gali pasinaudoti jutiklinio įvesties pranašumais.

PyGame Touch palaikymas

PyGame turi integruotą palaikymą darbui su jutikliniais įvestimis. Tai apima pelės ir piršto įvesties palaikymą.

Norėdami aptikti pelę, galite naudoti pygame. PELĖS MYGTUKAS ŽEMYN ir pygame. PELĖS MYGTUKAS UP įvykius. Pavyzdžiui:

dėl įvykis in pygame.event.get():
jeigu event.type == pygame. MOUSE BUTTONDOWN:
spausdinti ("Pelės mygtukas paspaustas")

Norėdami aptikti liečiamas įvestis pirštais, galite naudoti pygame. PIRŠTAS ir pygame. PIRŠTAS įvykius. Pavyzdžiui:

dėl įvykis in pygame.event.get():
jeigu event.type == pygame. PIRKŠTAS:
spausdinti ("Pirštas palietė ekraną")
instagram viewer

Paprasto žaidimo kūrimas

Visą kodą galite rasti šis „GitHub Repo“..

Pradėkite kurdami paprastą žaidimą. Šį žaidimą sudarys žaidėjo personažas, kurį galėsite judėti ekrane naudodami jutiklines įvestis. Norėdami tai padaryti, turėsite sukurti žaidimo kilpą ir žaidėjo personažą.

Prieš pradėdami įsitikinkite, kad turite pip įdiegtas jūsų įrenginyje, tada naudokite šią komandą, kad įdiegtumėte PyGame modulis:

pip įdiegti pygame

Dabar importuokite PyGame modulį į savo žaidimo kodą:

importuoti pygame
pygame.init()

Po to sukurkite žaidimo langą ir žaidimo objektą:

# Nustatykite ekraną
dydis = (400, 400)
ekranas = pygame.display.set_mode (dydis)

# Sukurkite žaidėjo objektą
žaidėjas = pygame. Paviršius((50, 50))
player.fill((255, 0, 0))

# Nustatykite pradinę grotuvo padėtį
player_pos = [175, 175]

Galiausiai sukurkite žaidimo kilpą:

# Žaidimo kilpa
bėgimas = Tiesa

kol veikia:
# Patikrinkite įvykius
dėl įvykis in pygame.event.get():
jeigu event.type == pygame. UŽDARYTI:
bėgimas = Netiesa

# Atnaujinkite žaidėjo poziciją
player_pos[0] += 5
player_pos[1] += 5

# Nupieškite grotuvą
screen.blit (player, player_pos)

# Atnaujinkite ekraną
pygame.display.update()

Atminkite, kad aukščiau pateiktas kodas sukuria tik paprastą žaidimą, kuriame žaidėjo personažas juda aplink ekraną. Kad žaidimas būtų įdomesnis, galite pridėti fiziką ir susidūrimus sukurti kliūtis, kurias žaidėjas gali įveikti.

Pelės jutikliniai įėjimai žaidėjo judėjimui

Dabar, kai turite žaidimą su žaidėjo personažu, galite pradėti pridėti jutiklinių įvesčių. Norėdami tai padaryti, turėsite pridėti įvykių tvarkyklę, skirtą pelės įvestims. Pridėkite pygame. PELĖS MYGTUKAS ŽEMYN ir pygame. PELĖS MYGTUKAS UP įvykių į žaidimo kilpą.

Sukurkite įvykių tvarkyklę pelės įvestims. Kai žaidėjas paspaudžia pelės mygtuką, atnaujinkite veikėjo padėtį į esamą pelės padėtį. Programa nepaisys pelės mygtuko atleidimo, nes tokiu atveju jai nereikia imtis jokių veiksmų.

# Žaidimo kilpa
bėgimas = Tiesa

kol veikia:
# Patikrinkite įvykius
dėl įvykis in pygame.event.get():
jeigu event.type == pygame. UŽDARYTI:
bėgimas = Netiesa
# Patikrinkite, ar nėra pelės įvesties
elifas event.type == pygame. MOUSE BUTTONDOWN:
pelė_x, pelė_y = event.pos
player_pos[0] = pelė_x
player_pos[1] = pelės_y
elifas event.type == pygame. MOUSE BUTTONUP:
praeiti

screen.fill((0, 0, 0))

# Nupieškite grotuvą
screen.blit (player, player_pos)

# Atnaujinkite ekraną
pygame.display.update()

Taip pat galite pridėti papildomos logikos įvykių tvarkyklėje, kad žaidėjas judėtų reaguodamas į pelės įvestį.

Lietimo pirštais įvestis žaidėjo judėjimui

Be pelės įvesties, taip pat galite pridėti pirštų liečiamų įvesčių. Norėdami tai padaryti, turėsite pridėti įvykių tvarkyklę, skirtą įvestims pirštu.

Pridėkite pygame. PIRŠTAS ir pygame. PIRŠTAS žaidimo ciklo įvykiai:

# Žaidimo kilpa
bėgimas = Tiesa

kol veikia:
# Patikrinkite įvykius
dėl įvykis in pygame.event.get():
jeigu event.type == pygame. UŽDARYTI:
bėgimas = Netiesa
# Patikrinkite, ar nėra pelės įvesties
elifas event.type == pygame. MOUSE BUTTONDOWN:
pelė_x, pelė_y = event.pos
player_pos[0] = pelė_x
player_pos[1] = pelės_y
elifas event.type == pygame. MOUSE BUTTONUP:
praeiti
# Patikrinkite, ar nėra įvesties pirštais
elifas event.type == pygame. PIRKŠTAS:
pirštas_x, pirštas_y = įvykis.poz
player_pos[0] = pirštas_x
player_pos[1] = pirštas_y
elifas event.type == pygame. FINGERUP:
praeiti

screen.fill((0, 0, 0))

# Nupieškite grotuvą
screen.blit (player, player_pos)

# Atnaujinkite ekraną
pygame.display.update()

Atkreipkite dėmesį, kaip tai panašu į pelės įvesties įvykių tvarkyklę. Ši įvykių tvarkyklė atnaujina veikėjo padėtį, kai žaidėjas paspaudžia pirštą ekrane. Kai jie atleidžia pirštą, nieko neįvyksta. Tai leidžia jums sukurti žaidimą, kurį galite valdyti naudodami pelės ir piršto įvestis. Atminkite, kad taip pat galite naudoti kitus įvykius, pvz pygame. PIRKŠTŲ JUDĖJIMAS reaguoti į piršto judesius.

„Pygame“ papildomos jutiklinės funkcijos

Įdiegę pagrindines jutiklines funkcijas galite pradėti pridėti daugiau išplėstinių funkcijų. „PyGame“ turi keletą integruotų funkcijų, kurios gali padėti prie žaidimo pridėti daugiau jutiklinių funkcijų.

Pirmoji savybė yra pygame.mouse.set_visible() funkcija. Ši funkcija leidžia paslėpti pelės žymeklį. Tai gali būti naudinga, jei norite sukurti žaidimą, kuriame būtų naudojama tik jutiklinė įvestis, o ne pelė.

Štai pavyzdys, kaip naudoti set_visible() funkcija:

pygame.mouse.set_visible(Netiesa)

The pygame.mouse.set_pos() funkcija nustato pelės žymeklį į tam tikrą vietą ekrane. Tai naudinga, jei norite perkelti pelę į tam tikrą vietą nenaudodami pelės įvesties.

Žemiau pateikiamas pavyzdys, kaip naudoti set_pos() funkcija:

pygame.mouse.set_pos(200, 200)

Galite naudoti pygame.mouse.get_rel() funkcija, leidžianti gauti santykinį pelės judėjimą. Galite naudoti tai norėdami nustatyti, kiek pelė pajudėjo nuo paskutinio pelės įvykio.

Taip galite naudoti get_rel() funkcija:

dx, dy = pygame.mouse.get_rel()

Galiausiai galite naudoti pygame.mouse.get_pressed() funkcija, kad patikrintų, ar grotuvas paspaudžia bet kurį pelės mygtuką. Tai gali būti naudinga kuriant žaidimus su pelės / jutikliniais valdikliais.

Žemiau pateikiamas pavyzdys, kaip naudoti get_pressed () funkcija:

mouse_buttons = pygame.mouse.get_pressed()

„PyGame“ taip pat teikia a PELĖS RATAS įvykio tipas, kurį galite naudoti pelės ratuko slinkimams aptikti. Jis palaiko tiek vertikalius, tiek horizontalius slinkimus.

Štai pavyzdys:

dėl įvykis in pygame.event.get():
jeigu event.type == pygame. PELĖS RATAS:
jeigu įvykis.y > 0:
spausdinti („Pelės ratukas pasuktas aukštyn“)
elifas įvykis.y < 0:
spausdinti ("Pelės ratukas paslinktas žemyn")

Kurkite interaktyvius žaidimus naudodami jutiklinius įėjimus

Įdiegę jutiklinius įvestis dabar galite kurti interaktyvius žaidimus. Pavyzdžiui, galite sukurti žaidimą, kuriame žaidėjas gali judėti ekrane naudodamas jutiklines įvestis. Taip pat galite kurti gestais pagrįstus žaidimus, kuriuose žaidėjas gali atlikti skirtingus gestus, kad suaktyvintų žaidimo veiksmus.

Galimybės yra neribotos, kai reikia kurti žaidimus su jutikliniu įėjimu. Naudodami PyGame galite kurti žaidimus, kurie būtų ir linksmi, ir interaktyvūs. Taigi išeikite ir pradėkite kurti!