更新 'ship.py'

This commit is contained in:
206530229 2021-06-22 14:02:52 +08:00
parent 3d53b1128e
commit 8900059630
1 changed files with 7 additions and 5 deletions

12
ship.py
View File

@ -1,9 +1,11 @@
import pygame import pygame
from pygame.sprite import Sprite
class Ship: # 管理飞船的类 class Ship(Sprite): # 管理飞船的类
def __init__(self, ai_game): # 初始化飞船并设置其初始位置 def __init__(self, ai_game): # 初始化飞船并设置其初始位置
super().__init__()
self.screen = ai_game.screen self.screen = ai_game.screen
self.settings = ai_game.settings
self.screen_rect = ai_game.screen.get_rect() self.screen_rect = ai_game.screen.get_rect()
self.image = pygame.image.load('images/ship.bmp') # 加载飞船图像并获取其外接矩形 self.image = pygame.image.load('images/ship.bmp') # 加载飞船图像并获取其外接矩形
@ -16,13 +18,13 @@ class Ship: # 管理飞船的类
# 移动标志 # 移动标志
self.moving_right = False self.moving_right = False
self.moving_right = False self.moving_left = False
def update(self): # 根据移动标志调整飞船位置 def update(self): # 根据移动标志调整飞船位置
# 更新飞船而不是rect对象的x值 # 更新飞船而不是rect对象的x值
if self.moving_right and self.rect.right < self.screen_rect.right: if self.moving_right and self.rect.right < self.screen_rect.right:
self.x += self.settings.ship_speed self.x += self.settings.ship_speed
if self.moving_left and self.rect.left > 0 if self.moving_left and self.rect.left > 0:
self.x -= self.settings.ship_speed self.x -= self.settings.ship_speed
# 根据self.x 更新rect对象 # 根据self.x 更新rect对象
@ -31,6 +33,6 @@ class Ship: # 管理飞船的类
def blitme(self): # 在指定位置绘制飞船 def blitme(self): # 在指定位置绘制飞船
self.screen.blit(self.image, self.rect) self.screen.blit(self.image, self.rect)
def center_ship(ship): # 让飞船在屏幕底部剧中 def center_ship(self): # 让飞船在屏幕底部剧中
self.rect.midbottom = self.screen_rect.midbottom self.rect.midbottom = self.screen_rect.midbottom
self.x = float(self.rect.x) self.x = float(self.rect.x)