代码拉取完成,页面将自动刷新
import pygame
class Bullet(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.bullet_up = pygame.image.load(r"./image/bullet_up.png")
self.bullet_down = pygame.image.load(r"./image/bullet_down.png")
self.bullet_left = pygame.image.load(r"./image/bullet_left.png")
self.bullet_right = pygame.image.load(r"./image/bullet_right.png")
self.dir_x, self.dir_y = 0, 0
self.speed = 6
self.life = False
self.strong = False
self.bullet = self.bullet_up
self.rect = self.bullet.get_rect()
self.rect.left, self.rect.right = 3 + 12 * 24, 3 + 24 * 24
"""
根据坦克的移动方向来选择子弹图像
例如:dir_x 为0且 dir_y 为-1,说明坦克向上移动,将子弹图像设置为向上的子弹图像
调用这个方法,可以根据坦克的移动方向来改变子弹的图像。这样在游戏中,子弹的图像会随着坦克的移动而改变
"""
def changeImage(self, dir_x, dir_y):
self.dir_x, self.dir_y = dir_x, dir_y
# 子弹向上的图像
if self.dir_x == 0 and self.dir_y == -1:
self.bullet = self.bullet_up
# 子弹向下的图像
elif self.dir_x == 0 and self.dir_y == 1:
self.bullet = self.bullet_down
# 子弹向左的图像
elif self.dir_x == -1 and self.dir_y == 0:
self.bullet = self.bullet_left
# 子弹向右的图像
elif self.dir_x == 1 and self.dir_y == 0:
self.bullet = self.bullet_right
def move(self):
self.rect = self.rect.move(self.speed * self.dir_x,
self.speed * self.dir_y)
if self.rect.top < 3:
self.life = False
# self.rect.left, self.rect.right = 3 + 12 * 24, 3 + 24 * 24
if self.rect.bottom > 630 - 3:
self.life = False
# self.rect.left, self.rect.right = 3 + 12 * 24, 3 + 24 * 24
if self.rect.left < 3:
self.life = False
# self.rect.left, self.rect.right = 3 + 12 * 24, 3 + 24 * 24
if self.rect.right > 630 - 3:
self.life = False
# self.rect.left, self.rect.right = 3 + 12 * 24, 3 + 24 * 24
#
# if pygame.sprite.spritecollide(self, brickGroup, True, None):
# self.life = False
# moving = 0
# if self.strong:
# if pygame.sprite.spritecollide(self, ironGroup, True, None):
# self.life = False
# else:
# if pygame.sprite.spritecollide(self, ironGroup, False, None):
# self.life = False
# moving = 0
# return moving
#
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。