Python Tutorial
- jetzt Python programmieren lernen

Eigene Spielerfigur ins Spiel programmieren

Für ein erfolgreiches Spiel benötigt man einen sympathischen Helden. In unserem Fall mit dem Thema liegt es nahe, dass wir eine Biene zur heldenhaften furchtlosen Spielerfigur machen. Unsere eigene Spielfigur soll nun ins Spiel integriert werden – dazu benötigen wir unsere Kampfbiene als Sprite-Sheet aus dem Kapitel:
https://www.python-lernen.de/animationen-erstellen.htm

die Spielerfigur: unsere animierte Biene als Sprite-Sheet

Die Grafik kann heruntergeladen werden unter:
https://www.python-lernen.de/bilder/biene-sprite-sheet.png

Die Grafik dann im Ordner „bilder“ im Unterverzeichnis speichern, wo unser Pythonspiel gespeichert ist.

Nun können wir unsere Spielerfigur im Code integrieren.

spieler = pygame.image.load("bilder/biene-sprite-sheet.png")

Für die Animation benötigen wir noch die einzelnen Bereiche der Bewegung aus dem Sprite-Sheet:

bereich = ['','','','','','']
bereich[0] = (0,0,100,100)
bereich[1] = (101,0,100,100)
bereich[2] = (202,0,100,100)
bereich[3] = (303,0,100,100)
bereich[4] = (404,0,100,100)
bereich[5] = (505,0,100,100) 

Alles das kommt vor der Hauptschleife.

Auch sollten wir eine Variable für den aktuellen Bewegungsframe festlegen, damit wir die Animation durchlaufen lassen können. Nennen wir die Variable hier animbereich und geben diesem als Start die 0:

animbereich = 0

Alles das kommt vor der Hauptschleife. Hier der bisher entstandene Code komplett:

# Importieren u. initialisieren der Pygame-Bibliothek
import pygame
from pygame.locals import *
pygame.init()

# Variablen/KONSTANTEN setzen
W, H = 800, 600
FPS  = 30
SCHWARZ = ( 0, 0, 0)
WEISS   = ( 255, 255, 255)

spielaktiv = True

spieler = pygame.image.load("bilder/biene-sprite-sheet.png")
bereich = ['','','','','','']
bereich[0] = (0,0,100,100)
bereich[1] = (101,0,100,100)
bereich[2] = (202,0,100,100)
bereich[3] = (303,0,100,100)
bereich[4] = (404,0,100,100)
bereich[5] = (505,0,100,100) 
animbereich = 0

# Definieren und Öffnen eines neuen Fensters
fenster = pygame.display.set_mode((W, H))
pygame.display.set_caption("Varroa Invaders")
clock = pygame.time.Clock()

# Schleife Hauptprogramm
while spielaktiv = False:
    # Überprüfen, ob Nutzer eine Aktion durchgeführt hat
    for event in pygame.event.get():
        # Beenden bei [ESC] oder [X]
        if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE):
            spielaktiv = False

    # Spiellogik

    # Spielfeld löschen
    fenster.fill(WEISS)

    # Spielfeld/figuren zeichnen

    # Fenster aktualisieren
    pygame.display.flip()
    clock.tick(FPS)

Jetzt müssen wir unsere Biene zeichnen und die Animation kontinuierlich durchlaufen lassen. Dies geschieht in der Hauptschleife unseres Spiels:

    # Spielfeld/figuren zeichnen
    animbereich  += 1

    if animbereich  > 5:
        animbereich  = 0

    fenster.blit(spieler, (100, 300), bereich[animbereich ])    

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Das neue E-Book zum Kurs gibt es zum Kaufen.

Sie können uns auch eine Spende über PayPal zukommen lassen.

Bestellen Sie Bücher über folgenden Link bei Amazon:
Bücher über Python

Vielen Dank für Ihre Unterstützung