'''
新增方法:
加载我方坦克
'''
#导入pygame模块
import pygame
# #pygame官方网站:www.pygame.org
SCREEN_WIDTH=700
SCREEN_HEIGHT=500
BG_COLOR=pygame.Color(0,0,0)
TEXT_COLOR=pygame.Color(255,0,0)
class MianGame():
#主类
window=None
my_tank=None
def __init__(self):
pass
#开始游戏
def Startgame(self):
#加载主窗口
pygame.display.init()
MianGame.window=pygame.display.set_mode([SCREEN_WIDTH,SCREEN_HEIGHT])
#初始化坦克
MianGame.my_tank=Tank(350,250)
#设置窗口的标题
pygame.display.set_caption('坦克大战1.03')
#设置窗口的填充色
while True:
MianGame.window.fill(BG_COLOR)
#获取事件
self.getEvent()
MianGame.window.blit(self.getTextSurface('敌方坦克剩余数量%d'%6),(10,10))
#展示坦克显示的方法
MianGame.my_tank.displayTank()
pygame.display.update()
#结束游戏
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():
#坦克类
#添加距离左边left,距离上边top
def __init__(self,left,top):
#保存加载的图片
self.images={'U':pygame.image.load('img/p1tankU.gif'),
'L': pygame.image.load('img/p1tankL.gif'),
'R': pygame.image.load('img/p1tankR.gif'),
'D': pygame.image.load('img/p1tankD.gif'),
}
#方向
self.direction='U'
#根据当前图片的方向获取图片 surface
self.image=self.images[self.direction]
#根据图片获取区域
self.rect=self.image.get_rect()
#设置区域的left和top
self.left=left
self.top=top
#移动
def move(self):
pass
#射击
def shoot(self):
pass
#展示坦克的方法
def displayTank(self):
self.image=self.images[self.direction]
#我方坦克类,继承的是坦克类
class MyTank(Tank):
def __init__(self):
pass
#敌方坦克
class EnemyTank(Tank):
def __init__(self):
pass
#子弹类
class Bullet():
def __init__(self):
pass
#移动子弹的方法
def MoveBullet(self):
pass
#展示子弹的方法
def displayBullet(self):
pass
#墙壁类
class wall():
def __init__(self):
pass
#展示墙壁的方法
def displaywall(self):
pass
#爆炸类
class Explode():
def __init__(self):
pass
#展示爆炸效果的方法
def displayExlpode(self):
pass
#音效类
class Music():
def __init__(self):
pass
#展示音效的方法
def displayMusic(self):
pass
if __name__=='__main__':
MianGame().Startgame()
MianGame.getTextSurface()
老师,我的图片显示不了?请问是那个位置报错了?运行下面是没有提示报错的