当前位置: 首页 > news >正文

建设网站公司地址广告网站建设报价

建设网站公司地址,广告网站建设报价,互动平台有哪些,营销型企业网站一般具有哪些功能按照书上写的武装飞船#xff0c;写到能够左右移动了#xff0c;但到了射击(装子弹)时候#xff0c;按照书上的代码照搬了#xff0c;运行时没显示代码有问题#xff0c;但就是按了空格键#xff0c;不见有子弹#xff0c;其他都正常。代码#xff1a;alien_invasion.p…按照书上写的武装飞船写到能够左右移动了但到了射击(装子弹)时候按照书上的代码照搬了运行时没显示代码有问题但就是按了空格键不见有子弹其他都正常。代码alien_invasion.pyimport sysimport pygamefrom pygame.sprite import Groupfrom settings import Settingsfrom ship import Shipimport game_functions as gfdef run_game():#初始化pygame、设置和屏幕对象pygame.init()ai_settings Settings()screen pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))pygame.display.set_caption(Alien Invasion)#创建一艘飞船ship Ship(ai_settings,screen)#创建一个用于存储子弹的编组bullets Group()#开始游戏主循环while True:gf.check_events(ai_settings,screen,ship,bullets)ship.update()bullets.update()gf.update_screen(ai_settings,screen,ship,bullets)run_game()**game_functions.py**import sysimport pygamefrom bullet import Bulletdef check_keydown_events(event,ai_settings,screen,ship,bullets):响应按键if event.key pygame.K_RIGHT:ship.moving_right Trueelif event.key pygame.K_LEFT:ship.moving_left Trueelif event.key pygame.K_SPACE:#创建一颗子弹并将其加入到编组bullets中new_bullet Bullet(ai_settings,screen,ship)bullets.add(new_bullet)def check_keyup_events(event,ship):响应松开if event.key pygame.K_RIGHT:ship.moving_right Falseelif event.key pygame.K_LEFT:ship.moving_left Falsedef check_events(ai_settings,screen,ship,bullets):响应按键和鼠标事件for event in pygame.event.get():if event.type pygame.QUIT:sys.exit()elif event.type pygame.KEYDOWN:check_keydown_events(event,ai_settings,screen,ship,bullets)elif event.type pygame.KEYUP:check_keyup_events(event,ship)def update_screen(ai_settings,screen,ship,bullets):更新屏幕上的图像并切换到新屏幕#每次循环时都重绘屏幕screen.fill(ai_settings.bg_color)ship.blitme()#让最近绘制的屏幕可见pygame.display.flip()#在飞船和外星人后面重绘所有子弹for bullet in bullets.sprites():bullet.draw_bullet()**bullet.py**import pygamefrom pygame.sprite import Spriteclass Bullet(Sprite):一个对飞船发射的子弹进行管理的类def __init__(self,ai_settings,screen,ship):在飞船所处的位置创建一个子弹对象super(Bullet,self). __init__()self.screen screen#在(0,0)处创建一个表示子弹的举行再设置正确的位置self.rect pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet_height)self.rect.centerx ship.rect.centerxself.rect.top ship.rect.top#存储用小数表示的子弹位置self.y float(self.rect.y)self.color ai_settings.bullet_colorself.speed_factor ai_settings.bullet_speed_factordef update(self):向上移动子弹#更新表示子弹位置的小数值self.y - self.speed_factor#更新表示子弹的rect的位置self.rect.y self.ydef draw_bullet(self):在屏幕上绘制子弹pygame.draw.rect(self.screen,self.color,self.rect)settings.pyclass Settings():存储《外星人入侵》的所有设置的类def __init__(self):初始化游戏的设置#屏幕设置self.screen_width 1200self.screen_height 800self.bg_color (230,230,230)#飞船的设置self.ship_speed_factor 1.5#子弹设置self.bullet_speed_factor 1self.bullet_width 3self.bullet_height 15self.bullet_color 60,60,60ship.pyimport pygameclass Ship():def __init__(self,ai_settings,screen):初始化飞船并设置其初始位置self.screen screenself.ai_settings ai_settings#加载飞船图像并获取其外接矩形self.image pygame.image.load(images/ship.bmp)self.rect self.image.get_rect()self.screen_rect screen.get_rect()#将每艘新飞船放在屏幕底部中央self.rect.centerx self.screen_rect.centerxself.rect.bottom self.screen_rect.bottom#在飞船的属性center中存储小数值self.center float(self.rect.centerx)#移动标志self.moving_right Falseself.moving_left Falsedef update(self):根据移动标志调整飞船的位置#更新飞船的center值而不是rectif self.moving_right and self.rect.right self.screen_rect.right:self.center self.ai_settings.ship_speed_factorif self.moving_left and self.rect.left 0:self.center - self.ai_settings.ship_speed_factor#根据self.center更新rect对象self.rect.centerx self.centerdef blitme(self):在指定位置绘制飞船self.screen.blit(self.image,self.rect)回答game_function.py 中的子弹绘制要在显示在屏幕之前如下#在飞船和外星人后面重绘所有子弹for bullet in bullets.sprites():bullet.draw_bullet()ship.blitme()#让最近绘制的屏幕可见pygame.display.flip()这样改一下game_function.py—-snip—-def update_screen(ai_settings,screen,ship,bullets):更新屏幕上的图像并切换到新屏幕#每次循环时都重绘屏幕screen.fill(ai_settings.bg_color)ship.blitme()#在飞船和外星人后面重绘所有子弹for bullet in bullets.sprites():bullet.draw_bullet()ship.blitime()#让最近绘制的屏幕可见pygame.display.flip()我的也是 代码完全正确甚至打开了编辑者写的代码还是没有子弹不请自来你的game_function.py呢功能模块也要添加进相关的设置主程序才能调用出来主程序的bullets.update()这里应该是会报错的还有函数里面的形参要和书本上的一致耐心点抄下去不要着急已找到问题原因你应该是虚拟机中运行的虚拟机中要按住ctrlspace就可以有子弹了请问题主解决问题了吗我也遇到了同样的问题我也是这个问题子弹会出来但是子弹不会动谢谢大佬我也是这个问题照着书敲的看了好久看到了你的帖子问题才解决的 。谢谢
http://www.zqtcl.cn/news/466145/

相关文章:

  • 做app网站的公司哪家好济南网站建设市场
  • 自己做网站页面网站国内空间和国外空间
  • 桂城网站制作公司asp.net jsp 网站
  • 太原免费静态网页制作网站如何搭建钓鱼网站
  • 英语门户网站织梦源码修改wordpress登录页面
  • 网络建设和网站建设网站快速收录提交
  • 免费的建设网站软件北京电力交易中心谢开
  • 建设一个网站需要提供什么手续好看的美食网站设计
  • 西宁网站seo公司网站建设和维护释义
  • 建站平台有哪些免费一键搭建网站wordpress ent 主题
  • 国内比较大的源码网站营销型网站与普通网站的区别
  • 眼镜企业网站建设方案广州最新新闻
  • 茶业网站设计方案绍兴网站建设方案托管
  • 怎样免费建设网站网站建设规划书txt微盘
  • 邯郸网站设计培训做网站建设公司crm在线的培训服务
  • 网站建设文化案例萧山网页设计
  • 融安有那几个网站做的比较好的林州网站建设熊掌号
  • 织梦个人博客网站源码深圳华强北鬼市
  • 成都公司建站模板营销策略有哪些方面
  • 南京哪里做网站河北建设工程交易信息网
  • 广州开发网站设计拍摄宣传片
  • 小型企业网站设计教程深圳seo网站推广方案
  • 做视频网站怎么备案最新网站架构
  • 黄金网站app软件下载安装免费淘宝网页版登录
  • 幸运28网站建设网站返回指定位置怎么做
  • 建设个直播网站要多少钱兴业大街网站建设
  • 网站设计培训班创业上海今天新闻发布会直播
  • 电商网站制作设计wordpress jquery 无法
  • 关键词优化易下拉效率北京和隆优化科技
  • 漯河企业网站开发天津建设协会网站