1 Star 0 Fork 0

晗先生/TankWar

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
bulletClass.py 2.70 KB
一键复制 编辑 原始数据 按行查看 历史
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
#
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lover_programmer/tank-war.git
[email protected]:lover_programmer/tank-war.git
lover_programmer
tank-war
TankWar
master

搜索帮助