pygame中self.rect.centerx=self.screen_rect.centerx是什么意

作者:编程技术

importpygameclassShip():def__init__(self,screen):self.screen=screenself.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.bottomself.moving_right=Falseself.moving_left=Falsedefupdate(self):ifself.moving_right:self.rect.centerx =1ifself.moving_left:self.rect.centerx-=1defblitme(self):self.screen.blit(self.image,self.rect)在从入门到实践中的外星人游戏中为什么我的飞船一直点鼠标动不了,代码都没有问题我是照着打的检查了好几遍只有load那儿显示找不到引用load中的image.py可是屏幕中有飞船但是运行代码飞船动不了。

importpygameclassShip():def__init__(self,ai_settings,screen):self.screen=screenself.ai_settings=ai_settingsself.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.bottomself.moving_right=Falseself.moving_left=Falseself.center=float(self.rect.centerx)defblitme(self):self.screen.blit(self.image,self.rect)defupdate(self):ifself.moving_rightandself.rect.rightself.screen_rect.right:self.center =self.ai_settings.ship_speed_factorifself.moving_left:self.center =-self.ai_settings.ship_speed_factorself.rect.centerx=self.center#centerx只能存储整数值,为什么来回转就可以?不好意思,打扰大家了,第一次提问正在学习python,但书里有一个地方不是很明白有关center和centerx的部分,书里说centerx不能存储小数点,所以赋值给center,由它来储存但最后又把值给赋回来了,并且书里说这时centerx还是不能储存小数点,只不过影响不大???我想问一下各位,这个是为什么?代码如上,运行起来没有问题。

初学者求助classShip():"""从前有座山,山上有个老和尚......"""def__init__(self,screen,ai_setting):self.screen=screenself.ai_setting=ai_settingself.image=pygame.image.load('images/ship.bmp')self.new_image=pygame.transform.scale(self.image,(ai_setting.big,ai_setting.small))#缩放self.rect=self.new_image.get_rect()self.screen_rect=screen.get_rect()self.rect.centerx=self.screen_rect.centerx#是定位飞船的X坐标位置吗?self.rect.bottom=self.screen_rect.bottomself.zuoy=float(self.rect.centery)#为什么此处写centerx或者centery都是一样的效果?self.sx=float(self.rect.centerx)#为什么这个控制上下的属性不设置浮点也没关系?#标志self.moving_right=Falseself.moving_left=Falseself.moving_up=Falseself.moving_down=False#!!!!上下??????defmove(self):ifself.moving_rightandself.rect.right800:#self.screen_rect.right:self.zuoy =self.ai_setting.ship_speedifself.moving_leftandself.rect.left0:#self.screen_rect.left:self.zuoy-=self.ai_setting.ship_speedifself.moving_upandself.rect.topself.screen_rect.top:self.sx =-self.ai_setting.ship_speed#self.sx=self.rect.centeryifself.moving_downandself.rect.bottomself.screen_rect.bottom:self.sx =self.ai_setting.ship_speedself.rect.centerx=self.zuoyself.rect.centery=self.sx

本文由美高梅4858官方网站发布,转载请注明来源

关键词: 代码 飞船 鼠标 找不到 书里