zoukankan      html  css  js  c++  java
  • python编程从入门到实践第12章

    12-1

    import sys
    import pygame
    def open_window():
        pygame.init()
        screen = pygame.display.set_mode((1200,700))
        pygame.display.set_caption("没有想好叫什么名字")
        #背景色
        bg_color = (135,206,235)
        while True:
            screen.fill(bg_color)
            for event in pygame.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.

    import pygame 
    
    class Hudieren():
        
        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.center
         
            
        def blitme(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_factor  
    if self.moving_down and self.rect.bottom < self.screen_rect.bottom:
                self.centery += self.ai_settings.ship_speed_factor

    12-4

    import sys  
    import pygame  
    def test():  
        pygame.init()  
        screen = pygame.display.set_mode((800,600))  
        pygame.display.set_caption("这是一个会动的屏幕")  
        bg_color = (255,255,255)  
        while True:  
            for event in pygame.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  不写这个了  我多消化下

  • 相关阅读:
    MYSQL/HIVESQL笔试题(一):HIVESQL(一)分组求TopN/行转列/列转行
    ALINK(七):ALINK使用技巧(二)
    Hive实战(6):完整案例(二)业务分析
    Hive实战(5):完整案例(一)准备
    Mysql基础(二十四):数据类型/常见约束
    Mysql基础(二十三):视图/存储过程
    数据可视化基础专题(三十四):Pandas基础(十四) 分组(二)Aggregation/apply
    Daily Coding Problem: Problem #677
    1027. Longest Arithmetic Subsequence (Solution 1)
    346. Moving Average from Data Stream
  • 原文地址:https://www.cnblogs.com/zhangyueba/p/12313407.html
Copyright © 2011-2022 走看看