added labels to ui

This commit is contained in:
2023-12-13 18:05:01 +01:00
parent edba68bbe2
commit f69f5d0e5f
12 changed files with 103 additions and 21 deletions

View File

@ -2,8 +2,8 @@ import pygame
from pygame.locals import *
from Classes.Objects.Cards.MonsterCard import MonsterCard
from Classes.System.Window import Window
from Classes.System.InputHandler import InputHandler
from Classes.System.Components.Window import Window
from Classes.System.Components.InputHandler import InputHandler
from Classes.Objects.World import World
class App:
@ -23,7 +23,7 @@ class App:
self.__inputHandler = InputHandler()
# game word
self.__world = World()
self.__world = World(self.__window.getScreen())
self.startGameLoop()
self.onCleanup()
@ -33,8 +33,19 @@ class App:
# create sprite groups
self.cards = pygame.sprite.Group()
testMonsterCard = MonsterCard(pygame.Vector2(500, 850), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
# ui trial assets
testMonsterCard = MonsterCard(pygame.Vector2(500, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
testMonsterCard1 = MonsterCard(pygame.Vector2(600, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
testMonsterCard2 = MonsterCard(pygame.Vector2(700, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
testMonsterCard3 = MonsterCard(pygame.Vector2(800, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
testMonsterCard4 = MonsterCard(pygame.Vector2(900, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
testMonsterCard5 = MonsterCard(pygame.Vector2(1000, 1050), "Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler)
self.cards.add(testMonsterCard)
self.cards.add(testMonsterCard1)
self.cards.add(testMonsterCard2)
self.cards.add(testMonsterCard3)
self.cards.add(testMonsterCard4)
self.cards.add(testMonsterCard5)
while self.__running:
self.__clock.tick(self.__FPS)
@ -44,7 +55,7 @@ class App:
# render world
self.__window.drawWorld(self.__world)
# update sprite groups
# updates all cards inside the cards Spritegroup at each step the gameloops does
self.cards.update()
# draw groups
@ -58,6 +69,8 @@ class App:
# handles incoming event queue
def handleEvent(self, events):
# TODO: fix bug that stacks cards when dragging them around
selectedCard = None
for event in events:
if event.type == pygame.QUIT:
self.onCleanup()
@ -65,9 +78,9 @@ class App:
mouse_x, mouse_y = pygame.mouse.get_pos()
mouse_pos = pygame.Vector2(mouse_x, mouse_y)
for card in self.cards:
if card.rect.collidepoint(mouse_pos):
if card.rect.collidepoint(mouse_pos) and selectedCard == None:
card.setDragging(True)
selectedCard = card
# card.setOffset(mouse_pos - card.getPos())
for field in self.__world.getBoardFields():
if field.getRect().collidepoint(mouse_pos):
@ -87,6 +100,8 @@ class App:
if event.button == 1: # Wenn linke Maustaste losgelassen wird
for card in self.cards:
card.setDragging(False)
if not card == None:
card = None
# sets the running state for the gameloop
def setRunning(self, running:bool):