Python3:pygame模块的简单的使用(画矩形和圆以及弧形)

1.简介

当前就是简单的使用pygame做出一些简单的东西(主要用于本人学习之用)

本人已导入pygame模块

2.简单的一个启动demo

# 这个最简单的demo就是用来启动一个当前的pygame的窗体

import pygame, sys

pygame.init()  
pygame.display.set_mode([640, 480]) 

while True:
    for event in pygame.event.get():  
        if event.type == pygame.QUIT:  # 如果当前的事件类型为点击上面的关闭就调用下面这个函数
            sys.exit() 

结果:
在这里插入图片描述
1.pygame.init()应该就是初始化当前pygame模块的方法

2.pygame.display.set_mode([640, 480])就是设置当前显示的大小(x轴的长度围640,y轴的长度围480)

3.for event in pygame.event.get(),通过循环的方式获取当前的pygame所捕捉的事件,这个事件可以是点击事件应该也可以是键盘按下的事件

4.sys.exit(),就是系统关闭的事件

发现当前的屏幕中什么都没有

2.画一个圆

# 在当前的窗口中画圆
import pygame, sys

pygame.init()
screen = pygame.display.set_mode([640, 480])
screen.fill([255, 255, 205])
pygame.draw.circle(screen, [255, 0, 0], [320, 240], 30, 0)
pygame.display.flip()

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

结果:
在这里插入图片描述

1.screen.fill([255, 255, 205])就是往创建的屏幕大小中填充颜色

2.pygame.draw.circle(screen, [255, 0, 0], [320, 240], 30, 0) ,这里是将圆放入的位置, 圆的颜色,圆的起始的x轴和y轴,半径为30,线的宽度(为0就表示是一个实心圆)

3.pygame.display.flip(),表示当前的东西加载后再显示

3.画一个矩形

# 使用当前的pygame花矩形
import pygame, sys

pygame.init()
screen = pygame.display.set_mode([640, 480])
screen.fill([255, 255, 205])
pygame.draw.rect(screen, [255, 0, 0], [200, 150, 10, 10], 0)
pygame.display.flip()

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

结果:

在这里插入图片描述
1.pygame.draw.rect(screen, [255, 0, 0], [200, 150, 10, 10], 0)中第一个表示这个矩形画的容器在哪个地方,第二个参数表示采用什么颜色,第三个参数(前两个表示x轴的距离,y轴的距离,宽度,长度),最后一个参数表示线的粗细(0表示一个实心的)

4.画出一个随机的图案(使用当前的矩形实现)

import pygame, sys, random

pygame.init()
screen = pygame.display.set_mode([640, 480])
screen.fill([255, 255, 205])

for i in range(100):
    width = random.randint(0, 250)
    height = random.randint(0, 250)
    top = random.randint(0, 400)
    left = random.randint(0, 500)
    g = random.randint(0, 255)
    b = random.randint(0, 255)
    a = random.randint(0, 255)
    pygame.draw.rect(screen, [g, b, a], [left, top, width, height], 1)

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

结果:
在这里插入图片描述

5.使用矩形画出弧形

# 使用大量很小的矩形画曲线
import pygame, sys, math

pygame.init()
screen = pygame.display.set_mode([640, 480])
screen.fill([255, 255, 205])

for x in range(0, 640):
    y = int(math.sin(x / 640.0 * 4 * math.pi) * 200 + 240)
    pygame.draw.rect(screen, [0, 0, 0], [x, y, 1, 1], 1)

pygame.display.flip()

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

结果:
在这里插入图片描述
主要用到的就是数学函数

6.使用线方式画出弧线

# 画一个完美的连接的正玄曲线
import pygame, sys, math

pygame.init()
screen = pygame.display.set_mode([640, 480])
screen.fill([255, 255, 205])
plotPoints = []

for x in range(0, 640):
    y = int(math.sin(x / 640.0 * 4 * math.pi) * 200 + 240)
    plotPoints.append([x, y])

pygame.draw.lines(screen, [0, 0, 0], False, plotPoints, 2)
pygame.display.flip()

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

结果:
在这里插入图片描述

pygame.draw.lines(screen, [0, 0, 0], False, plotPoints, 1)就是画线的,使用大量的点的方式画出线

7.总结

1.在使用当前pygame的时候首先需要导入模块pygame和sys

2.通过当前的sys模块(的sys.exit()方法)实现控制程序的退出操作

3.使用pygame的时候需要初始化当前的pygame(pygame.init())

4.通过pygame.display.set_mode设置屏幕显示的大小

5.通过当前的pygame.draw.XXX方式画圆和矩形以及弧形,任何操作都需要刷新画布(pygame.display.flip())

发布了215 篇原创文章 · 获赞 39 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45492007/article/details/103538452
今日推荐