Många spel använder sprites för att representera spelarens karaktär eller fiender. Ta reda på hur Pythons Arcade-bibliotek gör dem lätta att arbeta med.

Pythons Arcade-bibliotek ger ett sömlöst och intuitivt sätt att integrera sprites i dina spelutvecklingsprojekt. Sprites är viktiga element som tillför visuellt tilltalande, interaktivitet och dynamisk rörelse till dina spel.

Med Arcades enkla syntax och kraftfulla funktionalitet blir det enkelt att lägga till sprites. Biblioteket låter dig enkelt förbättra dina spel med fängslande karaktärer och föremål.

Skapa ett enkelt spel

Koden som används i den här artikeln är tillgänglig i denna GitHub-förråd och är gratis för dig att använda under MIT-licensen.

Innan du börjar, se till att du har pip installerad på din enhet. Använd detta kommando för att installera arkadbiblioteket:

pip installera arkad

Börja med att skapa ett enkelt spel med Pythons Arcade-bibliotek. I det här spelet kommer spelaren att kunna flytta åt vänster och höger.

Skapa en MyGame-klass som ärver från

instagram viewer
arkad. Fönster. Därefter definierar du inställningsmetoden för att initiera variabler och on_draw metod för att rita spelobjekten. De on_key_press metoden låter spelaren flytta den blå rektangeln åt vänster eller höger.

Här är koden för ditt grundläggande spel:

importera arkad

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

klassMitt spel(arkad. Fönster):
def__i det__(själv, bredd, höjd):
super().__init__(bredd, höjd)
arcade.set_background_color (arcade.color. VIT)

defuppstart(själv):
self.player_x = 320

defon_draw(själv):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arkad.färg. BLÅ)

defon_key_press(själv, nyckel, modifierare):
om nyckel == arkad.nyckel. VÄNSTER:
self.player_x -= 10
elif nyckel == arkad.nyckel. HÖGER:
self.player_x += 10

defhuvud():
spel = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

om __namn__ == "__huvud__":
main()

Hur man lägger till sprites i ditt spel

Nu när du har ett enkelt spel som fungerar är det dags att förbättra det genom att lägga till några sprites. Du kan skapa sprites med hjälp av arkad. Sprite klass. Du kan ladda bilder för att representera dina sprites och använda dem i ditt spel.

Ladda en bildfil med namnet player.png för att skapa din spelarsprite. Ställ in spritens initiala position till mitten av skärmen. I den on_draw metod, rita spelarens sprite med hjälp av dragfunktionen.

klassMitt spel(arkad. Fönster):
def__i det__(själv, bredd, höjd):
super().__init__(bredd, höjd)
arcade.set_background_color (arcade.color. VIT)
self.player_sprite = Ingen

defuppstart(själv):
self.player_sprite = arkad. Sprite("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(själv):
arcade.start_render()
self.player_sprite.draw()

defon_key_press(själv, nyckel, modifierare):
om nyckel == arkad.nyckel. VÄNSTER:
self.player_sprite.change_x = -5
elif nyckel == arkad.nyckel. HÖGER:
self.player_sprite.change_x = 5

defuppdatering(själv, delta_tid):
self.player_sprite.update()

Ytterligare Sprite-funktioner

Sprites i Arcade erbjuder funktioner utöver grundläggande rörelse. Du kan till exempel ändra storlek på en sprite genom att ställa in dess skalattribut.

Du kan ställa in skalattributet för spelarens sprite till 0,5, för att göra den till hälften av den ursprungliga storleken.

klassMitt spel(arkad. Fönster):
defuppstart(själv):
self.player_sprite = arkad. Sprite("player.png", skala=0.5)

Styr sprite-rörelsen

Sprites i Arcade tillhandahåller olika sätt att kontrollera spelarens rörelse. Förutom ändra_x attribut kan du använda ändra_y attribut för att kontrollera vertikala rörelser. För mer komplexa rörelsemönster kan du också använda ändra_vinkel attribut för att rotera spriten.

self.player_sprite.change_angle = ROTATION_SPEED

Genom att kombinera dessa attribut med tangentbords- eller musingång kan du skapa dynamiska och responsiva rörelsekontroller för dina spelsprites.

Lägger till kollisionsdetektering med sprites

Kollisionsdetektering är avgörande i många spel. Med Arcade kan du enkelt upptäcka kollisioner mellan sprites med hjälp av arcade.check_for_collision fungera. Låt oss modifiera koden så att den inkluderar kollisionsdetektering mellan spelarens sprite och en annan sprite som kallas obstacle.png:

klassMitt spel(arkad. Fönster):
def__i det__(själv, bredd, höjd):
super().__init__(bredd, höjd)
arcade.set_background_color (arcade.color. VIT)
self.player_sprite = Ingen

defuppstart(själv):
self.player_sprite = arkad. Sprite("player.png", skala=0.1)
self.obstacle_sprite = arkad. Sprite("obstacle.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(själv):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(själv, nyckel, modifierare):
om nyckel == arkad.nyckel. VÄNSTER:
self.player_sprite.change_x = -5
elif nyckel == arkad.nyckel. HÖGER:
self.player_sprite.change_x = 5

defuppdatering(själv, delta_tid):
self.player_sprite.update()
self.obstacle_sprite.update()

om arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
skriva ut("Kollision upptäckt!")

Gör dina spel mer engagerande med Sprites

Sprites får karaktärer, föremål och animationer att se verkliga och spännande ut. De kan röra sig, krocka och interagera med andra saker i ditt spel, vilket gör att det känns mer realistiskt och roligt.

Med sprites kan du skapa spel som håller spelare intresserade och vill spela mer. Sprites öppnar upp en värld av möjligheter för att skapa engagerande och minnesvärda spel.