12-1
importsysimportpygamedefopen_window():
pygame.init()
screen= pygame.display.set_mode((1200,700))
pygame.display.set_caption("没有想好叫什么名字")#背景色
bg_color = (135,206,235)whileTrue:
screen.fill(bg_color)for event inpygame.event.get():if event.type ==pygame.QUIT:
sys.exit()
pygame.display.flip()
open_window()
12-2 放在正中央应该是center, 然后不和边缘接触不用bottom top left啥的。。
写完后 引入模块 然后要在循环前创建引入图片,在循环里引入方法。 图片的背景颜色应该是说自己在PS之类的改吧,还是能用代码改?现在还不会,要改只能改背景。懒得改了
blit函数
做出blit这个动作的人是一个Surface类的实例,
这个人即将在自己身上画图,
他需要两个参数:要画的图片,和画的位置,即source和dest.
importpygameclassHudieren():def __init__(self,screen):
self.screen=screen
self.image= pygame.image.load('images/hudieren.bmp')
self.rect=self.image.get_rect()
self.screen_rect=screen.get_rect()
self.rect.center=self.screen_rect.centerdefblitme(self):
self.screen.blit(self.image,self.rect)
12-3 在完成上下移动的时候,自己照葫芦画瓢,然后出了BUG pygame.Rect' object has no attribute 'up' , 查了一会发现,原来是根据移动标志调整飞船位置这里, and 后面,self.rect.top bottom,我原来写的是up和down,主要对这里的什么模块函数啥的都不懂,感觉到了这节书里讲的不细致了
if self.moving_up and self.rect.top >0:
self.centery-=self.ai_settings.ship_speed_factorif self.moving_down and self.rect.bottom
self.centery+= self.ai_settings.ship_speed_factor
12-4
importsysimportpygamedeftest():
pygame.init()
screen= pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个会动的屏幕")
bg_color= (255,255,255)whileTrue:for event inpygame.event.get():if event.type ==pygame.QUIT:
sys.exit()elif event.type ==pygame.KEYDOWN:if event.key ==pygame.K_UP:
screen= pygame.display.set_mode((100,600))elif event.key ==pygame.K_DOWN:
screen= pygame.display.set_mode((100,100))elif event.key ==pygame.K_LEFT:
screen= pygame.display.set_mode((600,600))elif event.key ==pygame.K_RIGHT:
screen= pygame.display.set_mode((800,800))
screen.fill(bg_color)
pygame.display.flip()
test()
12-5 不写这个了 我多消化下