老师,视频里在讲System类下的out变量有这句话:“成员变量out是PrintStream类型的”。 能不能解释一下是什么意思吗?
问题:已经写了while True循环为什么界面依然闪退?
报错:AttributeError: module 'pygame.display' has no attribute 'get'
代码:
""" 新增功能: 左上角文字的绘制: 左上角输出敌方坦克的数量 """ # 导入pygame模块 import pygame SCREEN_WIDTH = 700 SCREEN_HEIGHT = 500 BG_COLOR=pygame.Color(0, 0, 0) # 主类 class MainGame(): window = None def __init__(self): pass # 开始游戏 def startGanme(self): # 加载主窗口 # 初始化窗口 pygame.display.init() # 设置窗口的大小和显示 MainGame.window = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT]) # 设置窗口的标题 pygame.display.set_caption("坦克大战游戏测试1.03") # 循环窗口常亮 while True: # 给窗口设置一个填充色 MainGame.window.fill(BG_COLOR) # 获取事件 self.getEvent() pygame.display.update() # 结束游戏 def endGanme(self): print("谢谢,欢迎再次使用") exit() # 左上角文字的绘制 def getTextSufce(self): # 字体初始化模块 pygame.font.init() # 查看所有的字体名称 print(pygame.font.get_fonts()) # 获取字体Font对象 font = pygame.font.SysFont("黑体", 18) def getEvent(self): # 获取所有事件 eventList = pygame.display.get() # 遍历事件 for event in eventList: # 判断按下的键是关闭还是键盘按下 # 如果按的是退出,关闭窗口 if event.type == pygame.QUIT: self.endGanme() # 如果是键盘按下 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): pass # 移动 def move(self): pass # 射击 def shot(self): pass # 展示坦克的方法 def displayTank(self): pass # 我方坦克 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().startGanme()
pygame SCREEN_WIDTH = SCREEN_HEIGHT = BG_COLOR=pygame.Color() MainGame(): window = (): (): pygame.display.init() MainGame.window = pygame.display.set_mode([SCREEN_WIDTHSCREEN_HEIGHT]) pygame.display.set_caption() : MainGame.window.fill(BG_COLOR) .getEvent() pygame.display.update() (): () () (): pygame.font.init() (pygame.font.get_fonts()) = pygame.font.SysFont() (): eventList = pygame.display.get() event eventList: event.type == pygame.QUIT: .endGanme() event.type == pygame.KEYDOWN: event.key == pygame. K_LEFT: () event.key == pygame.K_RIGHT: () event.key == pygame.K_UP: () event.key == pygame.K_DOWN: () Tank(): (): (): (): (): MyTank(Tank): (): EnemyTank(Tank): (): Bullet(): (): (): (): Wall(): (): (): Explode(): (): (): Music(): (): (): __name__ == : MainGame().startGanme()
老师,我坦克按方向键不移动了是咋回事
pygametimerandom pygame.sprite Sprite SCREEN_WIDTH=SCREEN_HEIGHT=BG_COLOR=pygame.Color() TEXT_COLOR=pygame.Color() BaseItem(Sprite): (): pygame.sprite.Sprite.() MainGame(): window=my_tank=enemyTankList=[] enemyTankCount=myBulletList=[] enemyBulletList=[] explodeList=[] (): (): pygame.display.init() MainGame.window=pygame.display.set_mode([SCREEN_WIDTHSCREEN_HEIGHT]) MainGame.my_tank=Tank() .createEnemyTank() pygame.display.set_caption() : time.sleep() MainGame.window.fill(BG_COLOR) .getEvent() MainGame.window.blit(.getTextSuface(%(MainGame.enemyTankList))()) MainGame.my_tank MainGame.my_tank.live: MainGame.my_tank.displayTank() : MainGame.my_tank MainGame.my_tank=MainGame.my_tank.displayTank() .blitEnemyTank() .blitMyBullet() .blitEnemyBullet() .blitExplode() MainGame.my_tank MainGame.my_tank.live: MainGame.my_tank.stop: MainGame.my_tank.move() pygame.display.update() (): top=i (MainGame.enemyTankCount): left=random.randint() speed=random.randint() enemy=EnemyTank(lefttopspeed) MainGame.enemyTankList.append(enemy) (): explode MainGame.explodeList: explode.live: explode.displayExplode() : MainGame.explodeList.remove(explode) (): enemyTank MainGame.enemyTankList: enemyTank.live: enemyTank.displayTank() enemyTank.randMove() enemyBullet = enemyTank.shot() enemyBullet: MainGame.enemyBulletList.append(enemyBullet) : MainGame.enemyTankList.remove(enemyTank) (): myBullet MainGame.myBulletList: myBullet.live: myBullet.displayBullet() myBullet.move() myBullet.myBullet_hit_enemyTank() : MainGame.myBulletList.remove(myBullet) (): enemyBullet MainGame.enemyBulletList: enemyBullet.live: enemyBullet.displayBullet() enemyBullet.move() enemyBullet.enemyBullet_hit_myTank() : MainGame.enemyBulletList.remove(enemyBullet) (): () () (text): pygame.font.init() font=pygame.font.SysFont() textSurface=font.render(textTEXT_COLOR) textSurface (): eventList= pygame.event.get() event eventList: event.type == pygame.QUIT: .endGame() event.type == pygame.KEYDOWN: event.key == pygame.K_LEFT: MainGame.my_tank.direction=MainGame.my_tank.stop=() event.key == pygame.K_RIGHT: MainGame.my_tank.direction=MainGame.my_tank.stop=() event.key == pygame.K_UP: MainGame.my_tank.direction=MainGame.my_tank.stop=() event.key == pygame.K_DOWN: MainGame.my_tank.direction=MainGame.my_tank.stop=() event.key == pygame.K_SPACE: () (MainGame.myBulletList)<: myBullet = Bullet(MainGame.my_tank) MainGame.myBulletList.append(myBullet) event.type == pygame.KEYUP: event.key==pygame.K_UP event.key==pygame.K_DOWN event.key == pygame.K_LEFT event.key ==pygame.K_RIGHT: MainGame.my_tank.stop = Tank(BaseItem): (lefttop): .images={ :pygame.image.load():pygame.image.load():pygame.image.load():pygame.image.load()} .direction=.image=.images[.direction] .rect=.image.get_rect() .rect.left=left .rect.top=top .speed=.stop=.live=(): .direction == : .rect.left>: .rect.left -= .speed .direction == : .rect.top>: .rect.top -= .speed .direction == : .rect.top+.rect.height<SCREEN_HEIGHT: .rect.top += .speed .direction == : .rect.left+.rect.height<SCREEN_WIDTH: .rect.left += .speed (): Bullet() (): .image=.images[.direction] MainGame.window.blit(.image.rect) MyTank(Tank): (): EnemyTank(Tank): (lefttopspeed): (EnemyTank).(lefttop) .images={ :pygame.image.load():pygame.image.load():pygame.image.load():pygame.image.load() } .direction=.randDirection() .image=.images[.direction] .rect=.image.get_rect() .rect.left=left .rect.top=top .speed=speed .flag=.step=(): num=random.randint() num == : num == : num == : num == : (): .step<=: .direction=.randDirection() .step=: .move() .step-=(): num=random.randint() num<: Bullet() Bullet(BaseItem): (tank): .image=pygame.image.load() .direction=tank.direction .rect=.image.get_rect() .direction == : .rect.left = tank.rect.left + tank.rect.width / - .rect.width / .rect.top = tank.rect.top - .rect.height .direction == : .rect.left = tank.rect.left + tank.rect.width / - .rect.width / .rect.top = tank.rect.top + tank.rect.height .direction == : .rect.left = tank.rect.left - .rect.width / - .rect.width / .rect.top = tank.rect.top + tank.rect.width / - .rect.width / .direction == : .rect.left = tank.rect.left + tank.rect.width .rect.top = tank.rect.top + tank.rect.width / - .rect.width / .speed=.live=(): .direction == : .rect.top>: .rect.top-=.speed : .live=.direction == : .rect.left+.rect.width<SCREEN_WIDTH: .rect.left+=.speed : .live=.direction ==: .rect.top+.rect.height<SCREEN_HEIGHT: .rect.top+=.speed : .live=.direction == : .rect.left>: .rect.left-=.speed : .live=(): MainGame.window.blit(.image.rect) (): enemyTank MainGame.enemyTankList: pygame.sprite.collide_rect(enemyTank): enemyTank.live=.live=explode = Explode(enemyTank) MainGame.explodeList.append(explode) (): MainGame.my_tank MainGame.my_tank.live: pygame.sprite.collide_rect(MainGame.my_tank): explode=Explode(MainGame.my_tank) MainGame.explodeList.append(explode) .live=MainGame.my_tank.live=Wall(): (): (): Explode(): (tank): .rect = tank.rect .images = [ pygame.image.load()pygame.image.load()pygame.image.load()pygame.image.load()pygame.image.load()] .step = .image = .images[.step] .live = (): .step < (.images): .image = .images[.step] .step += MainGame.window.blit(.image.rect) : .live = .step = Music(): (): (): __name__==: MainGame().startGame()
老师,为什么这里提示错误没有这个writerow()方法呀
class Makeup extends Thread{ private int flag; private String girlName; static private Lipstick2 lipstick = new Lipstick2(); static private Mirror mirror = new Mirror();
class ShengChan extends Thread{ private SyncStack ss; public ShengChan(SyncStack ss) { this.ss = ss; }
老师这两个实例化某个对象变量有什么区别,应该在什么情况下使用?
webdemo.rar
老师,我也遇到了和大部分同学一样的问题,登录之后,一直显示用户名或密码有误,帮我看看哪里有问题
vue_shop.zip
老师,可以看看为啥渲染失败吗
老师演示是怎样快速创建文件的,是有什么快捷键吗
老师这一步使用虚拟环境的操作需要设置环境变量绑定吗
今年就27岁了,看来要抓紧时间了,个人想往架构师的方向转,最快要经历哪些过程,大概几年可以?
老师为什么我在使用DateFormat的parse的方法的时候提示需要抛出错误
我尝试手工重新写一次视频里面的代码在输出id的时候出现了问题,Attribute修饰的List无法使用getName,如果把Attribute修改为Node就能正常使用getName了,并且也能正常获取id的name和text,我之前一直以为要获取该节点的属性就使用Attribute,要是需要获取该节点的子节点集合就是用Node或者Element来承载子节点信息,但我使用了Node代替Attribute之后依旧可以正常显示属性信息那么,使用Node和使用Attribute作为泛型的具体意义在哪里?
老师,我创建了两个 servlet,一个 redirect1(url-pattern:redirect1.do),一个redirect2(url-pattern:redirect2.do)。我用 redirect1重定向到 redirect2.do,redirect2重定向到 redirect1.do。结果就是这样子。重定向次数过多会导致什么bug呢?是服务器的bug还是浏览器的bug呢?还是说这是服务器或者浏览器的一种保护措施?
微信图片_20210826210922.png
我这里用了两种输入方式为什么运行结果不一样呀
main中webapps是什么呢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637