美文网首页
pygame项目1(外星人入侵)

pygame项目1(外星人入侵)

作者: 韩老司 | 来源:发表于2021-05-08 12:10 被阅读0次

    第一需要安装pygame这个库:

    pygame这个是第三方得游戏库,可以做图形,游戏等


    image.png
    image.png

    1.1首先我们开启外星人入侵项目第一步创建游戏得窗体

    import pygame #导入第三方得pygame游戏库
    import sys #导入系统库
    """
    1、外星人入侵游戏
    1.1 我们这次不使用函数,后续逐步优化升级,我们只是使用python基础得语法
    """
    
    pygame.init() #这个是进行游戏初始化,就是创建一个屏幕
    screen = pygame.display.set_mode((1200,800)) #设置游戏屏幕得大小,宽和高,注意这个是元组(1200,800)
    pygame.display.set_caption("外星人入侵") #这个是设置屏幕得名称(左上角游戏名称)
    
    #首先游戏是不断进行得,需要使用无限循环,使用while
    
    while True:
        for event in pygame.event.get(): #不断循环获取坐标位置
            print(event) #这个可以看到屏幕是不断进行刷新
            if event.type == pygame.QUIT: #判断这个是否点击x进行退出
                sys.exit() #系统退出指令
        pygame.display.flip() #最近绘制屏幕可见
    
    image.png

    1.2 设置背景色

    在Pygame中,颜色是以RGB值指定的。这种颜色由红色、绿色和蓝色值组成,其中每个值的可能取值范围都为0~255。颜色值(255, 0, 0)表示红色,(0, 255, 0)表示绿色,而(0, 0, 255)表示蓝色。通过组合不同的RGB值,可创建1600万种颜色。在颜色值(230, 230, 230)中,红色、蓝色和绿色量相同,它将背景设置为一种浅灰色

    image.png

    1.3设置 创建Ship类

    注意 在Pygame中,原点(0, 0)位于屏幕左上角,向右下方移动时,坐标值将增大。在1200×800的屏幕上,原点位于左上角,而右下角的坐标为(1200, 800)。


    image.png
    import pygame #导入第三方得pygame游戏库
    import sys #导入系统库
    """
    1、外星人入侵游戏
    1.1 我们这次不使用函数,后续逐步优化升级,我们只是使用python基础得语法
    """
    
    pygame.init() #这个是进行游戏初始化,就是创建一个屏幕
    screen = pygame.display.set_mode((1200,800)) #设置游戏屏幕得大小,宽和高,注意这个是元组(1200,800)
    pygame.display.set_caption("外星人入侵") #这个是设置屏幕得名称(左上角游戏名称)
    
    #首先游戏是不断进行得,需要使用无限循环,使用while
    
    bg_color = (230,230,230) #三原色设置背景颜色
    
    
    #创建ship船舰
    
    class Ship:
        def __init__(self,screen): #这个是构造函数,初始化使用,后续函数会详细讲解
            """
            可设置相应rect对象的属性center、centerx或centery。要让游戏元素与屏幕边缘对齐,
            可使用属性top、bottom、left或right;要调整游戏元素的水平或垂直位置,
            可使用属性x和y,它们分别是相应矩形左上角的x和y坐标。
            """
    
            self.screen = screen #这个是初始化飞船平设置其初始化位置
            # self.image = pygame.image.load("../images/ship.bmp") #设置飞船得路径,一般在代码文件目录新建一个images
            self.image = pygame.image.load("../images/ship.bmp")
            self.rect = self.image.get_rect() #获取图像得大小
            print("self.rect",self.rect)
    
            self.screen_rect = screen.get_rect()
    
            #将每艘新飞船放在屏幕底部中央
            self.rect.centerx = self.screen_rect.centerx#
            self.rect.bottom = self.screen_rect.bottom #
    
        def blitme(self):
            print(self)
            self.screen.blit(self.image,self.rect) #在指定位置绘制飞船
    
    
    #绘制飞机
    ship = Ship(screen)
    
    while True:
        for event in pygame.event.get(): #不断循环获取坐标位置
            # print(event) #这个可以看到屏幕是不断进行刷新
            if event.type == pygame.QUIT: #判断这个是否点击x进行退出
                sys.exit() #系统退出指令
    
        # ship.blitme() #
        screen.fill(bg_color) #每次都进行屏幕得绘制
        # screen.fill(ship)
        # screen.blit(ship_bg,(100,100))
        ship.blitme()
        pygame.display.flip() #最近绘制屏幕可见
    
    
    image.png

    相关文章

      网友评论

          本文标题:pygame项目1(外星人入侵)

          本文链接:https://www.haomeiwen.com/subject/gpcudltx.html