pygame中游戲的運行原理是不停的刷新屏幕再從新繪製圖像,因此每次操做完改變圖像大小或者位置再等待下次刷新就能夠作到移動和變化了google
對於一個對象要建立屢次(像子彈)能夠用pygame.Group
生成的對象來實現spa
group
生成的對象中gourp
生成對象的update()
方法,表示調用每一個成員各自的update()
方法來更新對象for
循環依次畫出圖像正統獲取文件地址的方式codeos.path.join(os.getcwd(),'images','pic.jpg')
os.path.abspath(__file__)
獲取代碼文件的路徑orm
F:\abc\ab.py
os.path.dirname(os.path.abspath(__file__))
對象
F:\abc
blit(self.image,self.rect)
把image畫到rect位置上遊戲
pygame生成的畫面的座標是從左上角做爲(0,0)越右越大,越下越大事件
移動能夠是按下座標加一,不過更好的是設置一個方向移動的flag在要移動的對象內,按下flag設置爲true
,擡起設置爲false
刷新圖像時調用對象自身的update()
根據flag決定移不移動get
重構就像b樹同樣,代碼量達到一個量才須要重構,把長的地方提取出來it
打印字符到控制檯的時間消耗比把圖像畫到屏幕的耗時還大,因此少打印io
出現了錯誤信息TypeError: invalid destination position for blit
開始瘋狂瞎逼google,都是些無用信息,最後看了有用信息是screen.blit(sprite, tuple(position))
因此我開始用type()
來看其中的rect
是否是tuple
類型,發現竟然是int
找哪裏改過這個,最後發現是在改rect.x
的參數把它漏寫成rect
因此把它的tuple
類型改爲了int
類型Orz
自動移動的一種作法
調用方法參數順序對其,不是按招名字找參數的,是按招順序找參數的
AttributeError: 'Group' object has no attribute 'rect'
可能是參數沒一一對應
"{:,}".format(1000000000)
輸出'1,000,000,000'