老师你好 我的代码写完后 图像移动到别的位置原图像不消失 可以帮我看看是什么问题吗?
代码:
"" 建立一个游戏: 1. 屏幕大小:800*600 2. 当按鼠标左键,加载向左的图片,并向左走;按下鼠标右键,加载向右的图片,并向右走。 """ #导入所需的模块 import pygame import sys ''' 建立所需的类: 1. 建立主逻辑类 2. 建立老虎类 3. 建立背景图片类 ''' #全局变量 SCREEN_SIZE = (800,600) class MainGame: screen = pygame.display.set_mode(SCREEN_SIZE,0,32) tiger = None def __init__(self): pass #建立获取事件的方法 def game_event(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.endgame() if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: print("向左掉头") MainGame.tiger.direction = 'L' MainGame.tiger.move() elif event.key == pygame.K_RIGHT: print("向右掉头") MainGame.tiger.direction = 'R' MainGame.tiger.move() elif event.key == pygame.K_UP: print("向上移动") MainGame.tiger.direction = 'U' MainGame.tiger.move() elif event.key == pygame.K_DOWN: print("向下移动") MainGame.tiger.direction = 'D' MainGame.tiger.move() #建立退出游戏的方法 def endgame(self): sys.exit() #显示屏幕并开始游戏 def startgame(self): # 加载游戏窗口 pygame.display.set_mode() # 加载游戏窗口标题 pygame.display.set_caption('测试游戏组件') # 加载背景图片 Backgroudimage().load_backgroundimage() #加载坦克 MainGame.tiger = Tiger(400,300) while True: #加载事件获取的方法 self.game_event() #加载老虎 MainGame.tiger.display_tiger() #保持窗口不消失,持续刷新窗口 pygame.display.update() class Tiger: def __init__(self,left,top): self.tigerimages = { 'L': pygame.image.load('tiger_left.gif'), 'R': pygame.image.load('tiger_right.gif'), 'U': pygame.image.load('tiger_left.gif'), 'D': pygame.image.load('tiger_right.gif') } self.direction = 'R' self.tigerimage = self.tigerimages[self.direction] self.rect = self.tigerimage.get_rect() self.rect.left = left self.rect.top = top self.speed = 10 #对老虎移动的控制 def move(self): if self.direction == 'L': self.rect.left -= self.speed elif self.direction == 'R': self.rect.left += self.speed elif self.direction == 'U': self.rect.top -= self.speed elif self.direction == 'D': self.rect.top += self.speed def display_tiger(self): #重新加载老虎图片 self.tigerimage = self.tigerimages[self.direction] #在屏幕上显示 MainGame.screen.blit(self.tigerimage,self.rect) #加载游戏景 class Backgroudimage: def load_backgroundimage(self): #加载背景图片 load_forest = pygame.image.load('forest.png').convert() #在主逻辑中贴上背景图片 MainGame.screen.blit(load_forest,(0,0)) MainGame().game_event() MainGame().startgame() ''' 心得: 1. 注释也要遵照缩进,否则报错 2. 获取事件的命令是:pygame.event.get() 3. 最后要开始游戏,需要调用主逻辑的开始方法
print('商为:%g'%c)前面没学过这个代码为讲解下 这个代码的语法格式啊
前面视频只讲了 '**{0}**{1}'.format(a,b) 这个
老师好,有两个问题烦请解答一下:
1、请问怎样在多行代码前添加或删除 “ # ”,从而完成或取消注释。
2、请问pycharm的左侧显示文件的地方,如何显示每个文件里拥有的类和方法,如你的test09中,就有class ,每个class里面还有method,能够在左侧文件处显示,烦请告诉我如何设置。
谢谢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637