Veel games gebruiken sprites om het personage van de speler of vijanden weer te geven. Ontdek hoe de Arcade-bibliotheek van Python ze gemakkelijk maakt om mee te werken.
De Arcade-bibliotheek van Python biedt een naadloze en intuïtieve manier om sprites op te nemen in uw game-ontwikkelingsprojecten. Sprites zijn essentiële elementen die visuele aantrekkingskracht, interactiviteit en dynamische bewegingen in je games brengen.
Met de eenvoudige syntaxis en krachtige functionaliteit van Arcade wordt het toevoegen van sprites een fluitje van een cent. Met de bibliotheek kun je je games moeiteloos verbeteren met boeiende personages en objecten.
Een eenvoudig spel maken
De code die in dit artikel wordt gebruikt, is hierin beschikbaar GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.
Controleer voordat u begint of u dat hebt gedaan pip op uw apparaat geïnstalleerd. Gebruik deze opdracht om de arcadebibliotheek te installeren:
pip installeer arcade
Begin met het maken van een eenvoudig spel met behulp van de Arcade-bibliotheek van Python. In dit spel kan de speler naar links en rechts bewegen.
Maak een MyGame-klasse die erft van arcade. Raam. Definieer daarna de instellingsmethode om variabelen te initialiseren en de on_draw methode om de spelobjecten te tekenen. De on_key_press methode laat de speler de blauwe rechthoek naar links of rechts bewegen.
Hier is de code voor je basisspel:
importeren arcade
SCREEN_WIDTH = 640
SCHERM_HOOGTE = 480klasMijn spel(arcade. Raam):
def__in het__(zelf, breedte, hoogte):
super().__init__(breedte, hoogte)
arcade.set_background_color (arcade.kleur. WIT)
defopgericht(zelf):
zelf.speler_x = 320
defon_draw(zelf):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.kleur. BLAUW)
defon_key_press(zelf, sleutel, modifiers):
als sleutel == arcade.sleutel. LINKS:
zelf.speler_x -= 10
elif sleutel == arcade.sleutel. RECHTS:
zelf.speler_x += 10defvoornaamst():
spel = Mijnspel (SCREEN_WIDTH, SCREEN_HEIGHT)
spel.setup()
speelhal.run()
als __naam__ == "__voornaamst__":
voornaamst()
Sprites toevoegen aan je spel
Nu je een eenvoudig spel hebt laten werken, is het tijd om het te verbeteren door wat sprites toe te voegen. U kunt sprites maken met behulp van de arcade. Sprite klas. Je kunt afbeeldingen laden om je sprites weer te geven en ze in je spel gebruiken.
Laad een afbeeldingsbestand met de naam speler.png om je speler-sprite te maken. Stel de beginpositie van de sprite in op het midden van het scherm. In de on_draw teken de sprite van de speler met de tekenfunctie.
klasMijn spel(arcade. Raam):
def__in het__(zelf, breedte, hoogte):
super().__init__(breedte, hoogte)
arcade.set_background_color (arcade.kleur. WIT)
self.player_sprite = Geen
defopgericht(zelf):
self.player_sprite = arcade. Sprite("speler.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2
defon_draw(zelf):
arcade.start_render()
zelf.speler_sprite.draw()
defon_key_press(zelf, sleutel, modifiers):
als sleutel == arcade.sleutel. LINKS:
self.player_sprite.change_x = -5
elif sleutel == arcade.sleutel. RECHTS:
self.player_sprite.change_x = 5
defupdate(zelf, delta_tijd):
self.player_sprite.update()
Extra Sprite-functies
Sprites in Arcade bieden functies die verder gaan dan basisbewegingen. U kunt bijvoorbeeld de grootte van een sprite wijzigen door het schaalkenmerk in te stellen.
U kunt het schaalkenmerk van de sprite van de speler instellen op 0,5, om het de helft van de oorspronkelijke grootte te maken.
klasMijn spel(arcade. Raam):
defopgericht(zelf):
self.player_sprite = arcade. Sprite("speler.png", schaal=0.5)
Beheersing van Sprite-bewegingen
Sprites in Arcade bieden verschillende manieren om controle van de bewegingen van de speler. naast de verandering_x attribuut, kunt u de verander_y attribuut om verticale beweging te beheersen. Voor complexere bewegingspatronen kunt u ook de verander_hoek attribuut om de sprit te roteren.
self.player_sprite.change_angle = ROTATION_SPEED
Door deze attributen te combineren met toetsenbord- of muisinvoer, kunt u dynamische en responsieve bewegingsbesturingen voor uw game-sprites creëren.
Botsingsdetectie toevoegen met Sprites
Botsingsdetectie is cruciaal in veel games. Met Arcade kun je eenvoudig botsingen tussen sprites detecteren met behulp van de arcade.check_for_collision functie. Laten we de code aanpassen om botsingsdetectie op te nemen tussen de sprite van de speler en een andere aangeroepen sprite hindernis.png:
klasMijn spel(arcade. Raam):
def__in het__(zelf, breedte, hoogte):
super().__init__(breedte, hoogte)
arcade.set_background_color (arcade.kleur. WIT)
self.player_sprite = Geen
defopgericht(zelf):
self.player_sprite = arcade. Sprite("speler.png", schaal=0.1)
self.obstacle_sprite = arcade. Sprite("obstakel.png", schaal = 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(zelf):
arcade.start_render()
zelf.speler_sprite.draw()
zelf.obstacle_sprite.draw()
defon_key_press(zelf, sleutel, modifiers):
als sleutel == arcade.sleutel. LINKS:
self.player_sprite.change_x = -5
elif sleutel == arcade.sleutel. RECHTS:
self.player_sprite.change_x = 5
defupdate(zelf, delta_tijd):
self.player_sprite.update()
zelf.obstacle_sprite.update()
als arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
afdrukken("Aanrijding gedetecteerd!")
Maak je games boeiender met Sprites
Sprites laten karakters, objecten en animaties er echt en opwindend uitzien. Ze kunnen bewegen, botsen en interactie hebben met andere dingen in je game, waardoor het realistischer en leuker aanvoelt.
Met behulp van sprites kun je games maken die spelers geïnteresseerd houden en meer willen spelen. Sprites openen een wereld van mogelijkheden voor het maken van boeiende en gedenkwaardige games.