美文网首页
pygame图形

pygame图形

作者: pubalabala | 来源:发表于2018-07-30 08:53 被阅读0次
    """__author__ == Jefferson"""
    import pygame
    import math
    if __name__ == '__main__':
        pygame.init()
        size = 900
        face = {'cir_heart': (size // 2, size // 2),#脸的圆心
                'r': size // 2,#脸的半径
                'main_color': (235,201,68),#主色
                'mouth_rect': (size//2-int(size*120/144/2),int(size*70/144)-int(size*120/144/2),int(size*120/144),int(size*120/144)),#嘴巴矩形
                'mouth_color': (180,29,22),#嘴巴颜色
                'width': int(size*3/144),#线条宽度
                'eye_rect_l': (int(size*3/144),int(size*30/144),int(size*336/720),int(size*126/360)),#左眼上方轮廓矩形
                'eye_rect_r': (int(size*75/144),int(size*30/144),int(size*336/720),int(size*126/360)),#右眼上方轮廓矩形
                'eye_rect_r_b': (int(size * 90/144), int(size * 233/720), int(size * 19 / 72), int(size * 50 / 360)),#右眼下方轮廓矩形
                'eye_rect_l_b': (int(size * 18/144), int(size * 233/720), int(size * 19 / 72), int(size * 50 / 360)),#左眼下方轮廓矩形
                'rect':(int(size * 3/144),int(size*271/720),int(size * 696/720),int(size*66/360)),#遮挡眼睛椭圆下半部分的白色
                'eye_circle_l': (int(size * 15/720),int(size*220/720),int(size*95/720),int(size*95/720)),#左眼球黑点
                'eye_circle_r': (int(size * 375 / 720), int(size * 220 / 720), int(size * 95 / 720), int(size * 95 / 720)),#右眼球黑点
                'eye_lr': (int(size * 262 / 720), int(size * 224 / 720), int(size * 90 / 720), int(size * 90 / 720)),#左眼右眼角弧线
                'eye_rr': (int(size * 622 / 720), int(size * 224 / 720), int(size * 90 / 720), int(size * 90 / 720)),#右眼右眼角弧线
                'eye_lr_white': (int(size * 275 / 720), int(size * 236 / 720), int(size * 63 / 720), int(size * 63 / 720)),#左眼右眼角白色填充
                'eye_rr_white': (int(size * 635 / 720), int(size * 236 / 720), int(size * 63 / 720), int(size * 63 / 720))#右眼右眼角白色挺冲
                }
        screen = pygame.display.set_mode((size,size))
        screen.fill((255, 255, 255))
        #画出脸和嘴巴
        pygame.draw.circle(screen,face['main_color'], face['cir_heart'], face['r'],0)
        pygame.draw.arc(screen,face['mouth_color'],face['mouth_rect'],math.pi*(1+1/24),math.pi*(2-1/24),face['width'])
        #左眼
        pygame.draw.ellipse(screen, (255, 255, 255), face['eye_rect_l'], 0)
        pygame.draw.arc(screen,(0,0,0),face['eye_rect_l'],0,math.pi,face['width'])
        pygame.draw.ellipse(screen,face['main_color'],face['eye_rect_l_b'],0)
        pygame.draw.arc(screen, (0, 0, 0), face['eye_rect_l_b'], 0, math.pi, face['width'])
        #右眼
        pygame.draw.ellipse(screen, (255, 255, 255), face['eye_rect_r'], 0)
        pygame.draw.arc(screen, (0, 0, 0), face['eye_rect_r'], 0, math.pi, face['width'])
        pygame.draw.ellipse(screen, face['main_color'], face['eye_rect_r_b'], 0)
        pygame.draw.arc(screen, (0, 0, 0), face['eye_rect_r_b'], 0, math.pi, face['width'])
        #遮挡矩形
        pygame.draw.rect(screen,face['main_color'],face['rect'],0)
        #左右眼球
        pygame.draw.ellipse(screen,(0,0,0),face['eye_circle_l'],0)
        pygame.draw.ellipse(screen, (0, 0, 0), face['eye_circle_r'], 0)
        #左右右眼角
        pygame.draw.arc(screen,(0,0,0),face['eye_lr'],math.pi*(1+1/160),(2-1/160)*math.pi,face['width'])
        pygame.draw.arc(screen, (0, 0, 0), face['eye_rr'], math.pi * (1 + 1 / 160), (2 - 1 / 160) * math.pi, face['width'])
        pygame.draw.ellipse(screen, (255, 255, 255), face['eye_lr_white'], 0)
        pygame.draw.ellipse(screen, (255, 255, 255), face['eye_rr_white'], 0)
    
        pygame.display.flip()
    
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    exit()
    
    

    效果:

    相关文章

      网友评论

          本文标题:pygame图形

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