当前位置: 首页 > 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.pierceye.com/news/466145/

相关文章:

  • 我想找阿里巴巴做网站推广建一个公司网站花多少钱
  • 最新购物网站建设框架wordpress 登录后台乱码
  • 音频网站开发做外贸网站需要营业执照
  • 企业网站搭建项目概述范文wordpress更改链接地址
  • 免费网站在线观看人数在哪直播建设工业网站首页
  • 权威的南昌网站设计wordpress游客评论游客
  • 乡镇府建设网站什么是外链
  • 营销型网站设计流程电子商务网站建设软件
  • 做个人网站的步骤wordpress 添加新页面
  • 公司建网站流程网站布局选择
  • 云南效果好的网站优化微信如何做有趣的短视频网站
  • wordpress个人网站后台登陆dedecms仿站
  • 网站没被收录什么原因上海哪家做网站
  • 电子商务网站建设含代码项目外包是什么意思
  • 此网站正在建设中页面重庆网上商城网站建设公司
  • 保定建设公司网站新产品上市的营销策划方案
  • 网站建设课程报告论文网络设计专业有前途吗
  • 苏州哪个公司做门户网站wordpress显示评论者地理位置 浏览器
  • 福州网站设计十年乐云seo推广网上国网有什么好处
  • 豪华网站建设wordpress推广提成
  • 网站优化外包价格搜索引擎费用
  • 网站建设基本范例sqlite开发网站
  • 网站建设顾问站建开发外包公司
  • 建立网站花钱吗wordpress表结构写入不全
  • 绿色家园网站怎么做导出wordpress文章
  • 合肥有什么好的网站建设公司网站建设的售后服务流程
  • 做网站烧钱吗济南免费建站
  • ps个人主页网页设计模板汕头关键词优化服务
  • 网站建设功能图网站开发新技术探索
  • 做自行车网站应该注意什么个人介绍网页设计模板