33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import os
|
|
import pygame
|
|
|
|
|
|
class Weapon(pygame.sprite.Sprite):
|
|
|
|
def __init__(self, player, groups):
|
|
super().__init__(groups)
|
|
|
|
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
asset_path = os.path.join(
|
|
script_dir, '../..', 'assets')
|
|
|
|
self.sprite_type = 'weapon'
|
|
direction = player.status.split('_')[0]
|
|
|
|
# Graphic
|
|
full_path = f"{asset_path}/graphics/weapons/{player._input.combat.weapon}/{direction}.png"
|
|
self.image = pygame.image.load(full_path).convert_alpha()
|
|
|
|
# Sprite Placement
|
|
if direction == 'right':
|
|
self.rect = self.image.get_rect(
|
|
midleft=player.rect.midright + pygame.math.Vector2(0, 16))
|
|
elif direction == 'left':
|
|
self.rect = self.image.get_rect(
|
|
midright=player.rect.midleft + pygame.math.Vector2(0, 16))
|
|
elif direction == 'down':
|
|
self.rect = self.image.get_rect(
|
|
midtop=player.rect.midbottom + pygame.math.Vector2(-10, 0))
|
|
else:
|
|
self.rect = self.image.get_rect(
|
|
midbottom=player.rect.midtop + pygame.math.Vector2(-10, 0))
|