Lange ist es her, dass ich mich hier mal wieder zu Wort gemeldet habe. Ich bin mal wieder zu Pygame gekommen und möchte möchte eine Art Space Invader mit meinem Sohn programmieren.
Jetzt habe ich eine Klasse namens Player, die so aussieht:
Code: Alles auswählen
class Player:
def __init__(self, x, y, move, image):
self.x = x
self.y = y
self.move = move
self.image = image
self.width = self.image.get_width()
self.height = self.image.get_height()
self.rect = pygame.Rect(self.x, self.y, self.width, self.height)
def movement(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_a] and (self.rect.x > self.width//2):
self.rect.move_ip(-self.move, 0)
if keys[pygame.K_d] and (self.rect.x < aufloesung.current_w - self.width - 20):
self.rect.move_ip(self.move, 0)
def draw(self, window):
window.blit(self.image, (self.rect))
def update(self, window):
self.movement()
self.draw(window)
Code: Alles auswählen
class Bullet:
def __init__(self, x, y, move, speed, image):
self.x = x
self.y = y
self.move = move
self.image = image
self.width = self.image.get_width()
self.height = self.image.get_height()
self.rect = pygame.Rect(self.x, self.y, self.width, self.height)
def movement(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE]:
pygame.mixer.Sound.play(laser_sound)
self.rect.move_ip(0, -self.move)
def draw(self, window):
window.blit(self.image, (self.rect))
def update(self, window):
self.movement()
self.draw(window)
Ich hatte folgendes probiert:
Code: Alles auswählen
bullet = Bullet(Player.rect.x, Player.rect.y, 5, bullet_img)
Vielleicht kann mir da jemand helfen?