diff --git a/bullet.py b/bullet.py index 712cdd5..70d6abe 100644 --- a/bullet.py +++ b/bullet.py @@ -54,4 +54,33 @@ class Bullet(object): # 获得子弹矩形(x, y, width, height) self.rect = self.image.get_rect() - \ No newline at end of file + # 设置子弹位置 + def set_pos(self, x, y): + self.rect[0] = x + self.rect[1] = y + + # 设置子弹速度 + def set_speed(self, speed): + if self.is_enemy: + self.speed = speed + else: + self.speed = -speed + + # 子弹移动 + + def action(self): + if not self.visible: + return + # 假设飞机矩形为plane_rect(10, 20, 200, 300) + # plane_rect.move_ip(10, 20), 那么结果是plane_rect(20, 40, 200, 300) + # 也就是原矩形x和y坐标加上move_ip函数x和y坐标,就是当前矩形新位置 + self.rect.move_ip(0, self.speed) + # 如果子弹超出场景范围,则设置为不可见 + if self.rect[1] < 0 or self.rect[1] > self.main_scene.size[1]: + self.visible = False + + # 绘制子弹 + def draw(self): + if not self.visible: + return + self.main_scene.scene.blit(self.image, (self.rect[0], self.rect[1]))