子弹只有在移动鼠标或者按键盘的时候才会往前走一步。
# 更新游戏状态
elif status == 0:
#游戏正在准备中
#绘制背景图
screen.blit(bg, bg.get_rect())
#标题
screen.blit(img_game_title, img_game_title_react)
# 按钮
screen.blit(btn_start, btn_start_rect)
elif status == 1:# 游戏开始
# 绘制背景图
screen.blit(bg, bg.get_rect())
# 绘制飞机
our_plane.update(frame)
our_plane.bullets.update()
import pygame
from WarOfPlane import constants
class Bullet(pygame.sprite.Sprite):
'''子弹类'''
# 子弹状态 True 表示或者 超出屏幕或撞击 False
active = True
def __init__(self, screen, plane, speed = None):
super().__init__()
self._screen = screen
#速度
self._speed = speed or 1
self._plane = plane
self.image = pygame.image.load(constants.BULLET_IMG)
# 改变子弹的位置
self.rect = self.image.get_rect()
self.rect.centerx = plane.rect.centerx
self.rect.top = plane.rect.top
def update(self, *args):
'''更新子弹的位置'''
self.rect.top -= self._speed
if self.rect.top < 0:
self.remove(self._plane.bullets)
self._screen.blit(self.image, self.rect)
2020-01-12 22:06:33
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星