pygame图形绘制机制

图形绘制就是向屏幕上绘制一些简单的图形,比如矩形、圆形、椭圆形等等。任何一个图形绘制之后pygame都会用一个Rect类表示该形状。绘制图形pygame使用pygame.draw绘制图形。不管绘制的是什么图形,pygame模块最后都会用一个与这个图形四面相切的矩形来表示,用来表达绘制之后需图形所覆盖的区间范围。pygame.Rect类表达绘制之后图形区域范围,仅表达矩形范围。pygame.Rect有四个参数,分别为:矩形左上角的坐标(left,top)以及矩形的宽度width和高度height。矩形的Rect类有很多属性,每个属性都会返回一个数值。比如size返回Rect的大小,width矩形的宽度,height矩形的高度等等。Rect类还提供了许多方法类操纵这个矩形区域,比如:.copy()用来拷贝生成一个新的矩形、.move()用来移动矩形等等。具体的请参考:http://www.pygame.org/docs/ref/rect.htmlpygame的官方文档。pygame.draw可以绘制.rect()矩形、.line()直线、.polygon()多边形、.lines()连续多线、.circle()圆形、.aaline()无锯齿线、.ellipse()椭圆形、.aalines()连续无锯齿线、.arc()椭圆弧形等:

import sys,pygame
from math import pi
pygame.init()
screen = pygame.display.set_mode((600,400))
pygame.display.set_caption("pygame图形绘制")
#设置矩形的颜色
GOLD = 255, 251, 0          #金色
RED = pygame.Color('red')   #红色
WHITE = 255, 255, 255       #白色
GREEN = pygame.Color('green')    #绿色
#分别绘制两个矩形
#rect1 = pygame.draw.rect(screen, GOLD, (100,100,200,100),5)
#rect2 = pygame.draw.rect(screen, RED, (210,210,200,100),0)
"""pygame.draw.rect有四个参数,第一个是屏幕的Surface类型
第二个是矩形的颜色,第三个是矩形的类型,第四个是矩形边框的宽度"""
e1rect = pygame.draw.ellipse(screen, GREEN, (50,50,500,300),3)
c1rect = pygame.draw.circle(screen, GOLD, (200,180), 30, 5)
c2rect = pygame.draw.circle(screen, GOLD, (400, 180), 30)
r1rect = pygame.draw.rect(screen, RED, (170,130,60,10), 3)
r2rect = pygame.draw.rect(screen, RED, (370,130,60,10))
plist = [(295,170), (285,250), (260,280), (340,280), (315,250), (305,170)]
l1rect = pygame.draw.lines(screen, GOLD, True, plist, 2)
a1rect = pygame.draw.arc(screen, RED, (200,220,200,100), 1.4*pi, 1.9*pi, 3)


while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

    pygame.display.update()

输出结果:

发布了61 篇原创文章 · 获赞 35 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41575507/article/details/96864327
今日推荐