card can resize back to normal size but loses details on each time doing it

This commit is contained in:
steev 2023-12-12 22:35:10 +01:00
parent 386aaddae3
commit 286225fd64
4 changed files with 15 additions and 2 deletions

View File

@ -33,6 +33,8 @@ class MonsterCard(pygame.sprite.Sprite):
self.__inputHandler = inputHandler
self.rect.center = self.__pos
self.__description = data["description"]
self.original_size = self.image.get_size()
self.original_position = self.rect.center
for attack in data["attacks"]:
self.__attacks.append(attack)

View File

@ -74,7 +74,7 @@ class App:
if field.getSide() == "Player":
if field.getType() == "MonsterField" and card.getType() == "MonsterCard":
# todo: resize card so that it fits into the card field
# card.image = pygame.transform.scale(card.image, (field.getSize()[0] - 10, field.getSize()[1] - 10))
card.image = pygame.transform.scale(card.image, (field.getSize()[0] - 10, field.getSize()[1] - 10))
card.rect.center = field.rect.center
field.image = card.image.copy()
card.setDragging(False)
@ -82,9 +82,20 @@ class App:
elif event.type == pygame.MOUSEBUTTONUP:
mouse_x, mouse_y = pygame.mouse.get_pos()
mouse_pos = pygame.Vector2(mouse_x, mouse_y)
if event.button == 1: # Wenn linke Maustaste losgelassen wird
for card in self.cards:
if card.rect.collidepoint(mouse_pos):
for field in self.__world.getBoardFields():
if field.getRect().collidepoint(mouse_pos):
# Überprüfe, ob das Spielfeld ein MonsterField und die Karte eine MonsterCard ist
if field.getSide() == "Player" and field.getType() == "MonsterField" and card.getType() == "MonsterCard":
# Setze die Karte zurück, wenn sie aus dem Spielfeld herausgezogen wird
card.image = pygame.transform.scale(card.image, card.original_size)
card.rect.center = card.original_position
card.setDragging(False)
break
# sets the running state for the gameloop
def setRunning(self, running:bool):