Menüführung zur Welt hergestellt und esc zurück

dev
Samuel Zielke 8 months ago
parent 7773a91fef
commit 996c9f61c6

@ -2,6 +2,7 @@ import pygame
import sys
from menu import Menu # Menü importieren
import settings
from world import World
def main():
pygame.init()
@ -9,19 +10,38 @@ def main():
pygame.display.set_caption("The Last Ollie \n A Fred Story")
clock = pygame.time.Clock()
# Menü initialisieren
menu = Menu(screen)
world = World(screen)
current_scene = "menu" # oder "world"
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
menu.handle_event(event)
menu.draw()
if current_scene == "menu":
menu.handle_event(event)
if menu.ready_to_start_game:
menu.ready_to_start_game = False # Reset!
current_scene = "world"
if current_scene == "world":
result = world.handle_event(event)
if result == "menu":
current_scene = "menu"
menu.input_active = False
menu.show_main_buttons = True
menu.ready_to_start_game = False
if current_scene == "menu":
menu.draw()
elif current_scene == "world":
world.draw()
pygame.display.flip()
clock.tick(settings.FPS)
clock.tick(60)
pygame.quit()
sys.exit()

@ -26,6 +26,7 @@ class Menu:
self.input_active = False
self.player_name = ""
self.show_main_buttons = True
self.ready_to_start_game = False
def draw(self):
self.screen.fill(MyColors.background) # Hintergrundfarbe
@ -77,12 +78,21 @@ class Menu:
self.show_main_buttons = True
self.player_name = ""
if self.go_button.collidepoint(event.pos):
if self.player_name: # Nur wenn ein Name eingegeben wurde
self.input_active = False
self.show_main_buttons = False
self.ready_to_start_game = True
if settings.DEBUG:
print(f"Spielstart mit Spielername: {self.player_name}")
if event.type == pygame.KEYDOWN and self.input_active:
if event.key == pygame.K_RETURN and settings.DEBUG:
print(f"Name eingegeben: {self.player_name}")
if event.key == pygame.K_RETURN:
if self.player_name: # Nur wenn ein Name eingegeben wurde
self.input_active = False
self.show_main_buttons = False
self.ready_to_start_game = True
if settings.DEBUG:
print(f"Name eingegeben: {self.player_name}")
elif event.key == pygame.K_BACKSPACE:
self.player_name = self.player_name[:-1]
else:

@ -0,0 +1,20 @@
import pygame
import settings
class World:
def __init__(self, screen):
self.screen = screen
self.background_color = (135, 206, 235) # Himmelblau
self.ground_rect = pygame.Rect(0, 600, 1280, 120) # Boden
def draw(self):
self.screen.fill(self.background_color)
pygame.draw.rect(self.screen, (124, 252, 0), self.ground_rect) # Grün für Boden
def handle_event(self, event):
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
if settings.DEBUG:
print("ESC-Pressed")
return "menu"
return None
Loading…
Cancel
Save

Powered by TurnKey Linux.