Pygame mehrere Sprites

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Giben
User
Beiträge: 13
Registriert: Montag 6. April 2020, 08:06

]Hallo, wie bekomme ich mehr als nur ein Sprite auf den Bildschirm.
Habe jetzt schon alles mögliche probiertr, aber ich komme nicht darauf.
Ich schaue auch in der ygame Doku nach ,abe r ich kanndie nichr ganz verstehen, daher hoffe ich auf eure Hilfe.
Danke! :)

Code: Alles auswählen

import pygame as pg
from random import randint

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
GRAU = 125,125,125
WEISS = 255,255,255

gegnerBild      = []
gegnerX         = []
gegnerY         = []
gegnerBewegung  = []
anzahlgegner    = 6
        



class Figur(pg.sprite.Sprite):

    def __init__(self):
        pg.sprite.Sprite.__init__(self)
        self.image = pg.image.load('bilder/Biene.png')
        self.rect = self.image.get_rect()

      
      

    def update(self,x,y):
        self.gegnerX = x
        self.gegnery = y        
        

            
    




def main():
    pg.init()
    #biene1 = Figur()
    for x in range(anzahlgegner):
        gegnerBild.append(Figur())
        allsprites = pg.sprite.Group(gegnerBild)
        gegnerX.append(randint(50,200))
    
    screen= pg.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
    pg.display.set_caption("MOORHUHN")
    clock = pg.time.Clock()
    #pg.mouse.set_visible(False)

    hintergrund = pg.image.load("Bilder/wiese.jpg")
    
    
    print(allsprites)
    print(len(allsprites))
    print(gegnerBild[1])
    
    Isrunning = True
    while Isrunning:
        for event in pg.event.get():
            if (
                event.type == pg.QUIT 
                or event.type == pg.KEYDOWN 
                and event.key == pg.K_ESCAPE
                ):
                    Isrunning = False
        screen.blit(hintergrund,(0,0))  

         
        
        #Spielelogik
                    
        
        #Spielfeld löschen
        #screen.fill(Grau)

    

        # Spielfeld/Figuren zeichnen
        
        allsprites.update(100,100)

        
        allsprites.draw(screen)
        
        #Fenster aktualisieren
        pg.display.flip()

        # Refresh Zeit festlegen

        clock.tick(85)
    pg.quit()




if __name__ == "__main__":
    main()
Antworten