added sprite for book projectile
This commit is contained in:
+23
-3
@@ -1,3 +1,5 @@
|
||||
from turtledemo.lindenmayer import draw
|
||||
|
||||
import pygame
|
||||
import random
|
||||
import math
|
||||
@@ -34,6 +36,14 @@ class Tower:
|
||||
print(f"Error loading tower sprite: {e}")
|
||||
self.tower_image = None
|
||||
|
||||
# Sprite laden für Projektil
|
||||
try:
|
||||
self.projectile_image = pygame.image.load("assets/items/book.png").convert_alpha()
|
||||
self.projectile_image = pygame.transform.scale(self.projectile_image, (projectile_size, projectile_size))
|
||||
except Exception as e:
|
||||
print(f"Error loading projectile sprite: {e}")
|
||||
self.tower_image = None
|
||||
|
||||
# soll interaktives Tower Feld an zufälliger freier Position im Raum spawnen
|
||||
def field_spawn(self, room_rect: pygame.Rect, blocked_rects: list[pygame.Rect]):
|
||||
# versucht bis zu 50 mal, eine nicht belegte Stelle im Raum zu finden
|
||||
@@ -144,10 +154,20 @@ class Tower:
|
||||
# Restzeit der Tower über dem Sprite anzeigen (in Sekunden)
|
||||
surface.blit(font.render(str(sec), True, (255, 255, 255)), (r.x + 8, r.y - 18))
|
||||
|
||||
# alle aktiven Projektile zeichnen als kleine Rechtecke
|
||||
# alle aktiven Projektile zeichnen als Prite oder Fallback als kleine Rechtecke
|
||||
for p in self.projectiles:
|
||||
pygame.draw.rect(surface, COLOR_PROJECTILE,
|
||||
pygame.Rect(int(p["x"]) - cam_x, int(p["y"]) - cam_y, projectile_size, projectile_size))
|
||||
draw_x = int(p["x"]) - cam_x
|
||||
draw_y = int(p["y"]) - cam_y
|
||||
|
||||
if self.projectile_image:
|
||||
# zeichnet Buch Sprite
|
||||
surface.blit(self.projectile_image, (draw_x, draw_y))
|
||||
else:
|
||||
# Fallback - gelbes Rechteck
|
||||
pygame.draw.rect(surface, COLOR_PROJECTILE,
|
||||
pygame.Rect(int(p["x"]) - cam_x, int(p["y"]) - cam_y, projectile_size, projectile_size))
|
||||
|
||||
|
||||
|
||||
|
||||
# alles zurücksetzen, wenn der Raum verlassen wird
|
||||
|
||||
Reference in New Issue
Block a user