51 lines
2.1 KiB
Plaintext
51 lines
2.1 KiB
Plaintext
o = eb_terrain.Ground(1, 1, 1)
|
||
c = eb_creatures.Unit(1, 1, 1)
|
||
print(isinstance(o, eb_objects.Object))
|
||
print(isinstance(o, eb_objects.Terrain))
|
||
print(isinstance(c, eb_objects.Terrain))
|
||
|
||
|
||
|
||
original = pygame.image.load('sprite.png').convert_alpha()
|
||
orig_rect = original.get_rect(center=(200, 300))
|
||
|
||
def scale_image(image, n):
|
||
orig_size = image.get_size()
|
||
new_size = (int(orig_size[0] * n), int(orig_size[1] * n))
|
||
return pygame.transform.scale(image, new_size)
|
||
|
||
scaled = scale_image(original, n)
|
||
scaled_rect = scaled.get_rect(center=(600, 300))
|
||
|
||
screen.blit(original, orig_rect) # Original size
|
||
screen.blit(scaled, scaled_rect) # Scaled by n
|
||
|
||
|
||
|
||
def load_sprites_from_folder(self, folder_path = sprites_dir):
|
||
"""
|
||
Загружает все PNG изображения из указанной папки в словарь.
|
||
Ключи - имена файлов без расширения, значения - pygame.Surface
|
||
"""
|
||
# Полный путь к папке со спрайтами относительно скрипта
|
||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||
full_path = os.path.join(script_dir, folder_path)
|
||
sprites = {}
|
||
if not os.path.exists(full_path):
|
||
print(f"❌ Папка не найдена: {full_path}")
|
||
return sprites
|
||
print(f"🔍 Сканируем папку: {full_path}")
|
||
# Проходим по всем файлам в папке
|
||
for filename in os.listdir(full_path):
|
||
if filename.lower().endswith('.png'):
|
||
# Убираем расширение .png для ключа
|
||
name = os.path.splitext(filename)[0]
|
||
filepath = os.path.join(full_path, filename)
|
||
try:
|
||
# Загружаем изображение
|
||
surface = pygame.image.load(filepath).convert_alpha()
|
||
self.sprites[name] = surface
|
||
print(f"✅ Загружен: {name} ({surface.get_size()})")
|
||
except pygame.error as e:
|
||
print(f"❌ Ошибка загрузки {filename}: {e}")
|
||
print(f"🎉 Загружено {len(sprites)} спрайтов") |