Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

PyGame yra populiarus Python modulis, skirtas greitai ir lengvai kurti žaidimus. Su PyGame vaizdas modulį, galite įkelti ir rodyti vaizdus savo žaidimuose, todėl tai yra viena iš svarbiausių galimų funkcijų.

PyGame vaizdo modulis

Galite įkelti, rodyti ir valdyti vaizdo duomenis naudodami vaizdas modulis. Jis palaiko daugybę vaizdo formatų, įskaitant JPEG, PNG ir BMP. Norėdami pradėti, įsitikinkite, kad pip yra įdiegtas jūsų įrenginyje ir naudokite toliau pateiktą komandą, kad įdiegtumėte pygame modulis:

pip įdiegti pygame

Vaizdų įkėlimas ir rodymas

Su pagalba vaizdas modulį, galite greitai įkelti ir rodyti vaizdus savo žaidime. Norėdami įkelti vaizdą, tiesiog skambinkite įkelti () funkcija, perduodama kelią į vaizdo failą:

vaizdas = pygame.image.load(„/path/to/image.jpg“)

Vaizdo formatą automatiškai atpažins „PyGame“, kuris tada sukurs a Paviršius objektas, kuriame yra vaizdo duomenys. Tada galite parodyti vaizdą paskambinę blit () metodas:

instagram viewer
screen.blit (vaizdas, (x, y))

Kur x ir y yra koordinatės, kuriose norite, kad vaizdas būtų rodomas ir ekranas yra Paviršius objektas, kurį naudojate žaidimui rodyti.

Be to, naudojant sutaupyti() metodu, galite įrašyti vaizdus į diską:

pygame.image.save (vaizdas, „/path/to/image.jpg“)

Taip pat galite naudoti vaizdus viduje „Sprite“ klasė simboliams kurti tavo žaidime.

Vaizdų transformavimas ir manipuliavimas naudojant transformavimo modulį

Be to, pygame modulis siūlo galingą Transform API, leidžiančią įvairiais būdais manipuliuoti vaizdais. Pavyzdžiui, galite pasukti vaizdą naudodami pasukti () metodas:

rotated_image = pygame.transform.rotate (vaizdas, kampas)

Kur kampu yra norimas vaizdo sukimosi kampas laipsniais. Norėdami padidinti vaizdą ir pasukti vaizdą tam tikru laipsnių skaičiumi aplink tašką, galite naudoti rotozoom () metodas:

rotated_image = pygame.transform.rotozoom (vaizdas, kampas, mastelio keitimas)

The priartinti parametras yra dydis, kuriuo norite padidinti arba sumažinti vaizdą. Pavyzdžiui, norėdami priartinti vaizdą 2 kartus, kaip parametrą nurodykite 2.

zoomed_image = pygame.transform.rotozoom (vaizdas, 0, 2)

Taip pat galite apversti vaizdą horizontaliai arba vertikaliai apversti () metodas:

flipped_image = pygame.transform.flip (vaizdas, x_flip, y_flip)

Kur x_flip ir y_flip yra loginės reikšmės, nurodančios, ar vaizdą apversti horizontaliai ar vertikaliai.

Norėdami pakeisti vaizdą į kitą dydį, galite naudoti skalė() metodas:

scaled_image = pygame.transform.scale (vaizdas, (plotis, aukštis))

Kur plotis ir aukščio yra nauji matmenys, kurių norite, kad vaizdas būtų. Vidutinę vaizdo spalvą taip pat galite rasti naudodami vidutinė_spalva() metodas:

vidutinė_spalva = pygame.transform.average_color (paviršius, tiesioji)

Su vidutinė_spalva() galite rasti vidutinę vaizdo spalvą, kuri gali būti naudinga spalvinant spritus arba kuriant spalvų paletes.

Dažni spąstai ir trikčių šalinimo patarimai

Kai dirbate su vaizdas modulį, svarbu nepamiršti kelių dalykų. Dažniausia klaida yra pamiršti paskambinti apversti () metodas po to, kai rodomas vaizdas. Jei to nepadarysite, vaizdas bus rodomas netinkamai.

Be to, keičiant vaizdų mastelį, svarbu atsiminti, kad vaizdas bus ištemptas arba susitraukęs, kad atitiktų naują dydį. Norėdami išlaikyti vaizdo kraštinių santykį, galite naudoti sklandžiai () vietoj to metodas:

scaled_image = pygame.transform.smoothscale (vaizdas, (plotis, aukštis))

Galiausiai, svarbu pažymėti, kad transformacijos API nėra saugi gijų, todėl neturėtumėte iškviesti jos iš kelių gijų vienu metu.

Padidinkite naudotojų įsitraukimą naudodami vaizdus

Vaizdai yra puikus būdas sukurti įtraukiančius ir įtraukiančius žaidėjus. Naudodami vaizdas modulį, galite lengvai rodyti ir manipuliuoti žaidimo vaizdais. Tai gali padėti sukurti vizualiai patrauklesnį žaidimą ir padidinti vartotojų įsitraukimą. Galite dar labiau pagerinti vartotojo patirtį sukūrę pradžios meniu ir žaidimą ekranuose.