Mange spill bruker sprites for å representere spillerens karakter eller fiender. Finn ut hvordan Pythons Arcade-bibliotek gjør dem enkle å jobbe med.

Pythons Arcade-bibliotek gir en sømløs og intuitiv måte å inkorporere sprites i spillutviklingsprosjektene dine. Sprites er viktige elementer som gir visuell appell, interaktivitet og dynamisk bevegelse til spillene dine.

Med Arcades enkle syntaks og kraftige funksjonalitet blir det en lek å legge til sprites. Biblioteket lar deg enkelt forbedre spillene dine med fengslende karakterer og objekter.

Opprette et enkelt spill

Koden som brukes i denne artikkelen er tilgjengelig i denne GitHub-depot og er gratis for deg å bruke under MIT-lisensen.

Før du starter, sørg for at du har pip installert på enheten din. Bruk denne kommandoen for å installere arkadebiblioteket:

pip installer arkade

Begynn med å lage et enkelt spill ved å bruke Pythons Arcade-bibliotek. I dette spillet vil spilleren kunne bevege seg til venstre og høyre.

Lag en MyGame-klasse som arver fra

arkade. Vindu. Deretter definerer du oppsettsmetoden for å initialisere variabler og on_draw metode for å tegne spillobjektene. De on_key_press metoden lar spilleren flytte det blå rektangelet til venstre eller høyre.

Her er koden for det grunnleggende spillet ditt:

import arkade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

klasseMitt Spill(arkade. Vindu):
def__i det__(selv, bredde, høyde):
super().__init__(bredde, høyde)
arcade.set_background_color (arcade.color. HVIT)

defoppsett(selv):
self.player_x = 320

defon_draw(selv):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arkade.farge. BLÅ)

defon_key_press(selv, nøkkel, modifikatorer):
hvis nøkkel == arkade.nøkkel. VENSTRE:
self.player_x -= 10
elif nøkkel == arkade.nøkkel. IKKE SANT:
self.player_x += 10

defhoved-():
spill = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

hvis __navn__ == "__hoved__":
hoved()

Hvordan legge til sprites i spillet ditt

Nå som du har et enkelt spill som fungerer, er det på tide å forbedre det ved å legge til noen sprites. Du kan lage sprites ved å bruke arkade. Sprite klasse. Du kan laste inn bilder for å representere sprites og bruke dem i spillet ditt.

Last inn en bildefil med navnet player.png for å lage din spillersprite. Sett startposisjonen til spriten til midten av skjermen. I on_draw metoden, tegn spillerens sprite ved å bruke tegnefunksjonen.

klasseMitt Spill(arkade. Vindu):
def__i det__(selv, bredde, høyde):
super().__init__(bredde, høyde)
arcade.set_background_color (arcade.color. HVIT)
self.player_sprite = Ingen

defoppsett(selv):
self.player_sprite = arkade. Sprite("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(selv):
arcade.start_render()
self.player_sprite.draw()

defon_key_press(selv, nøkkel, modifikatorer):
hvis nøkkel == arkade.nøkkel. VENSTRE:
self.player_sprite.change_x = -5
elif nøkkel == arkade.nøkkel. IKKE SANT:
self.player_sprite.change_x = 5

defOppdater(selv, delta_tid):
self.player_sprite.update()

Ytterligere Sprite-funksjoner

Sprites i Arcade tilbyr funksjoner utover grunnleggende bevegelse. Du kan for eksempel endre størrelsen på en sprite ved å angi skalaattributtet.

Du kan sette skalaattributtet til spillerens sprite til 0,5, for å gjøre den halvparten av den opprinnelige størrelsen.

klasseMitt Spill(arkade. Vindu):
defoppsett(selv):
self.player_sprite = arkade. Sprite("player.png", skala=0.5)

Kontrollerer Sprite-bevegelsen

Sprites i Arcade gir ulike måter å kontrollere spillerens bevegelse. Ved siden av endre_x attributtet, kan du bruke endre_y egenskap for å kontrollere vertikal bevegelse. For mer komplekse bevegelsesmønstre kan du også bruke endre_vinkel attributt for å rotere spriten.

self.player_sprite.change_angle = ROTATION_SPEED

Ved å kombinere disse egenskapene med tastatur- eller museinngang kan du lage dynamiske og responsive bevegelseskontroller for spill-sprites.

Legger til kollisjonsdeteksjon med sprites

Kollisjonsdeteksjon er avgjørende i mange spill. Med Arcade kan du enkelt oppdage kollisjoner mellom sprites ved hjelp av arcade.check_for_collision funksjon. La oss endre koden for å inkludere kollisjonsdeteksjon mellom spillerens sprite og en annen sprite som kalles obstacle.png:

klasseMitt Spill(arkade. Vindu):
def__i det__(selv, bredde, høyde):
super().__init__(bredde, høyde)
arcade.set_background_color (arcade.color. HVIT)
self.player_sprite = Ingen

defoppsett(selv):
self.player_sprite = arkade. Sprite("player.png", skala=0.1)
self.obstacle_sprite = arkade. Sprite("hinder.png", skala = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(selv):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(selv, nøkkel, modifikatorer):
hvis nøkkel == arkade.nøkkel. VENSTRE:
self.player_sprite.change_x = -5
elif nøkkel == arkade.nøkkel. IKKE SANT:
self.player_sprite.change_x = 5

defOppdater(selv, delta_tid):
self.player_sprite.update()
self.obstacle_sprite.update()

hvis arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
skrive ut("Kollisjon oppdaget!")

Gjør spillene dine mer engasjerende med Sprites

Sprites får karakterer, objekter og animasjoner til å se ekte og spennende ut. De kan bevege seg, kollidere og samhandle med andre ting i spillet ditt, noe som gjør at det føles mer realistisk og morsomt.

Ved å bruke sprites kan du lage spill som holder spillerne interessert og ønsker å spille mer. Sprites åpner opp en verden av muligheter for å lage engasjerende og minneverdige spill.