import pygame
class Ship():
def __init__(self,ai_settings,screen):
self.screen=screen
self.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.centerx
self.rect.bottom=self.screen_rect.bottom
self.moving_right=False
self.moving_left=False
self.center=float(self.rect.centerx)
def blitme(self):
self.screen.blit(self.image,self.rect)
def update(self):
if self.moving_right and self.rect.right<self.screen_rect.right:
self.center+=self.ai_settings.ship_speed_factor
if self.moving_left:
self.center+=-self.ai_settings.ship_speed_factor
self.rect.centerx=self.center#centerx只能存盤整數值,為什么來回轉就可以?
不好意思,打擾大家了,第一次提問
正在學習python,但書里有一個地方不是很明白
有關center 和centerx的部分,書里說centerx不能存盤小數點,所以賦值給center,由它來儲存
但最后又把值給賦回來了,并且書里說這時centerx還是不能儲存小數點,只不過影響不大???
我想問一下各位,這個是為什么?代碼如上,運行起來沒有問題。
uj5u.com熱心網友回復:
是不是按右鍵的話,while一直在回圈,然后累積的小數?小數大于1。導致飛船越來越快。我也理解的不是很清楚。。。。代碼的世界好難轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80755.html
