坦克图片打不开
'''
新增功能
我方坦克的加载
坦克有4个方向朝向属性,有空间方位属性
'''
import pygame
SCREEN_WIDTH=700
SCREEN_HEIGHT=500
BG_Color=pygame.Color(0,0,0)
Text_Color=pygame.Color(255,255,255)
#主类
class MainGame():
window = None
my_tank = None
def __init__(self):
pass
#开始游戏
def startgame(self):
#加载主窗口
#初始化窗口
pygame.display.init()
#设置窗口大小及显示
MainGame.window = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
#初始化我方tank
MainGame.my_tank = Tank(350,250)
#设置窗口标题
pygame.display.set_caption('坦克大战1.0')
while True:#维持窗口显示
pygame.display.update()
#给窗口设置填充色
MainGame.window.fill(BG_Color)
#需要调用关闭窗口就需要获取事件
self.getevent()
#将文字绘制的surface放在游戏的主surface上
MainGame.window.blit(self.gettextsurface('剩余敌方坦克数量%d'%6),(10,10))
#调用坦克显示的方法
MainGame.my_tank.displaytank()
#结束游戏
def endgame(self):
print('谢谢游戏,再见')
exit()
#左上角文字绘制
def gettextsurface(self,text):
#初始化字体模块
pygame.font.init()
#查看所有字体的名称
#得到字体列表print( pygame.font.get_fonts())
# 获取字体Font对象
font = pygame.font.SysFont('kaiti',18)
#绘制文字信息
textsurface = font.render(text,True,Text_Color)
return textsurface
#获取所有事件
def getevent(self):
eventList = pygame.event.get()
#遍历事件
for event in eventList:
#判断按下的键是关闭还是键盘
#如果按的是退出,则关闭窗口
if event.type == pygame.QUIT:
self.endgame()
#如果按的是键盘
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
print('按下左键,向左移动')
elif event.key == pygame.K_RIGHT:
print('按下右键,向右移动')
elif event.key == pygame.K_UP:
print('按下上键,向上移动')
elif event.key == pygame.K_DOWN:
print('按下下键,向下移动')
#坦克类
class Tank():
def __init__(self,left, top):
self.images = {'U':pygame.image.load('C:\img\p1tankU.git'),
'D':pygame.image.load('C:\img\p1tankD.git'),
'L':pygame.image.load('C:\img\p1tankL.git'),
'R':pygame.image.load('C:\img\p1tankR.git'),}
#方向
self.direation = 'U'
#根据当前图片方向获取图片 surface
self.image = self.images[self.direation]
#根据图片获取surface
self.rect = self.image.get_rect()
#设置区域的left&top
self.rect.left = left
self.rect.top = top
#移动
def move(self):
pass
#射击
def shot(self):
pass
#展示
def displaytank(self):
#获取展示对象
self.image = self.images[self.direation]
#调用blit方法展示
MainGame.window.blit(self.image, self.rect)
#我方坦克
class MyTank(Tank):
def __init__(self):
pass
#敌方坦克
class EnemyTank(Tank):
def __init__(self):
pass
#子弹类
class Bullet():
def __init__(self):
pass
#移动
def move(self):
pass
#展示
def displaybullet(self):
pass
#墙壁类
class Wall():
def __init__(self):
pass
#展示墙壁
def displaywall(self):
pass
#爆炸类
class Explode():
def __init__(self):
pass
#展示爆炸效果的方法
def displayexplode(self):
pass
#音乐类
class Music():
def __init__(self):
pass
#播放音乐
def play(self):
pass
if __name__ =='__main__':
MainGame().startgame()
是我导入图片的路径不对?
或者把源图片储存的位置不对?
我尝试多次依然打不开图片,也在网上查找,但是也没有解决。