Pygame Klasse so schließen, dass main loop weiterläuft
Verfasst: Sonntag 19. April 2020, 15:50
Code: Alles auswählen
import pygame
import sys
size = (500,500)
FPS = 5
class Game1(pygame.sprite.Sprite):
def __init__(self, screen, size):
self.screen = screen
self.screen.set_mode(size)
super(Game1, self).__init__()
self.images = []
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (1).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (2).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (3).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (4).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (5).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (6).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (7).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (8).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (9).png'))
self.images.append(pygame.image.load('/home/rezan/Desktop/python/python/games/heropygame/spiritimg2/Dead (10).png'))
self.index = 0
self.rect = pygame.Rect(5, 5, 150, 198)
def update(self):
if self.index >= len(self.images):
self.index = 0
self.image = self.images[self.index]
self.index += 1
Ich habe beide Classen dort aufgerufen und es klapp einwandfrei.
Nun möchte ich aber, dass die Klasse bem zweimaligem Ankommen im letzen Bild (self.images(10) aufhört in der main loop zu laufen und stattdessen die andere Klasse weiterläuft.
Bis jetzt war es so, dass ich das Fenster jeweils schließen musste und die andere Klasse anlief, aber nun möchte ich dass es automatisch ohne Reaktion läuft.
Danke im Voraus

Hier nochmal der file von meiner main loop:
Code: Alles auswählen
import spirit_class
from spirit_class import Game
import spirit1_class
from spirit1_class import Game1
import pygame
import spirit2_class
from spirit2_class import Game2
size = (1000,500)
FPS = 5
def main():
global size,FPS
pygame.init()
game = Game(pygame.display, (size))
my_group = pygame.sprite.Group(game)
game.schleife(my_group, pygame.display.set_mode(size),pygame.time.Clock(),FPS)
#clock = pygame.time.Clock()
game1 = Game1(pygame.display, (size))
my_group = pygame.sprite.Group(game1)
game1.schleife(my_group, pygame.display.set_mode(size),pygame.time.Clock(),FPS)
if __name__ == '__main__':
main()