From c00a782ecbbea3a286afa6b8ecd34ed3bca6a545 Mon Sep 17 00:00:00 2001 From: 206530118 <3046257660@qq.com> Date: Wed, 23 Jun 2021 08:26:00 +0800 Subject: [PATCH] . --- alien.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 alien.py diff --git a/alien.py b/alien.py new file mode 100644 index 0000000..d74e403 --- /dev/null +++ b/alien.py @@ -0,0 +1,35 @@ +import pygame +from pygame.sprite import Sprite + +class Alien(Sprite): + """表示单个外星人的类""" + + def __init__(self, ai_settings, screen): + """初始化外星人并设置其初始位置""" + super().__init__() + self.screen = screen + self.ai_settings = ai_settings + + # 加载外星人图像,并设置其rect属性 + self.image = pygame.image.load('images/alien.bmp') + self.rect = self.image.get_rect() + + # 每个外星人初始都在屏幕左上角,设置为其宽高以进行留白 + self.rect.x = self.rect.width + self.rect.y = self.rect.height * 2 + + self.x = float(self.rect.x) + + + def update(self): + """向左或向右右移动外星人""" + self.x += self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction + self.rect.x = self.x + + + def check_edges(self): + screen_rect = self.screen.get_rect() + if self.rect.right >= screen_rect.right: + return True + elif self.rect.left <= screen_rect.left: + return True