关于python:Python之Pygame学习笔记1

35次阅读

共计 4402 个字符,预计需要花费 12 分钟才能阅读完成。

一、装置
在 cmd 命令中输出:pip install pygame

即可装置胜利了

二、第一个代码实例
代码快外面有正文,想必大家都能够看懂的。

import pygame
import sys
import pygame.locals


pygame.init()
# 初始化

screen = pygame.display.set_mode((500, 600))
# 设置屏幕的大小

pygame.display.set_caption("First Demo")
# 设置屏幕的名称

Seashell = 255, 245, 238
# 设置 RGB 色彩

NavyBlue = 0, 0, 128
# 设置 RGB 色彩

while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            # 如果点击敞开按钮,或者按下任意键,那么退出程序
            sys.exit()
        else:
            pass
    screen.fill(Seashell)
    position = (250, 300)
    pygame.draw.circle(screen, color=NavyBlue, center=position, radius=100,  width=50)
    pygame.display.update()

运行后果

这个实例只须要强调一下的是:

1、QUIT 示意按下敞开的按钮,KEYDOWN 是按下任意一个按键,这两个都是 pygame 外部本人定义好的常量。

2、色彩能够用 RGB 进行示意
三、绘制一个矩形框

import pygame
import pygame.locals
import sys

pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("Drawing Rectangles")
# 设置名称
Blue = 0, 0, 255
Purple = 160, 32, 240
while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            # 还是如果说点击了敞开的按键,或者是按下了任意键,那么就能够关闭程序了
            sys.exit()
    pos = (300, 250, 100, 100)
    # 这里的 pos 不仅设置了地位,而且设置了长度以及宽度
    screen.fill(Purple)
    pygame.draw.rect(screen, Blue, pos, width=10)
    # width 是线条的宽度,screen 示意指定应用哪一个屏幕进行显示
    pygame.display.update()


四、绘制矩形框的进阶版本

import pygame
import pygame.locals
import sys
import time


pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("Drawing Moving Rectangle")

color1 = 139, 0, 139
color2 = 104, 131, 139

px = 200
py = 300
# 初始化的地位应该放在里面,否则会始终在一个中央绘制图形了

vx = 10
vy = 20
# 初始化速度也应该放在里面,否则会始终以恒定的速度静止


while True:
    for event in pygame.event.get():
        if event.type in (pygame.locals.QUIT, pygame.locals.KEYDOWN):
            # 如果是按下了任意键或者是点击了敞开按钮,那么退出程序
            sys.exit()

    # vx = 10
    # vy = 20

    # px = 200
    # py = 300

    px += vx
    py += vy
    if px <= 0 or px + 100 >= 600:
        vx = - vx
    # else:
    #     px += vx


    if py <= 0 or py + 100 >= 500:
        vy = - vy
    # else:
    #     py += vy

    screen.fill(color1)

    pygame.draw.rect(screen, color2, (px, py, 100, 100))

    time.sleep(0.2)

    pygame.display.update()



这里不好展现视频,所以咱们放几张图片吧,具体的成果能够本人运行代码当前既能够了;
图片 1:


图片 2;

另外,理论所失去的成果是这个矩形框在不停的静止,然而不会跑出这个显示的屏幕了啦。
然而是视频当初不好加,所以,我间接展现了一部分图片。

五、绘制一条直线

# 绘制线条

import pygame
import pygame.locals
import sys
import time


color1 = 0, 80, 0

color2 = 100, 255, 200

pygame.init()
# 初始化

screen = pygame.display.set_mode((600, 500))
# 设置显示屏幕

pygame.display.set_caption("Drawing Lines")
# 设置显示框的题目的名称

while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            sys.exit()
            # 与后面一样,如果说按下任意键或者是按下敞开的按钮,那么咱们就退出程序

    screen.fill(color1)

    pygame.draw.line(screen, color2, (150, 150), (450, 450), width=10)

    pygame.display.update()




运行代码的后果展现;

在这里,咱们再一次具体地介绍一下 line 外面的各个参数的意义:

    pygame.draw.line(screen, color2, (150, 150), (450, 450), width=10)

1、第一个参数:设置用于显示的屏幕是谁

2、第二个参数:设置直线段的色彩

3、第三个论述:设置终点,也就是开始的地位

4、第四个参数:设置起点,也就是进行的地位

5、第五个参数:设置线条的宽度或者说是粗细的水平

最初再说一句,别忘记了加上一个

pygame.display.update()

用来更新画面

六、绘制一条弧线

首先,咱们绘制一个圆的一部分,也就是真正的圆弧形:

import math
import pygame
import pygame.locals
import sys
import time


color1 = 144, 238, 144
color2 = 0, 0, 139


pygame.init()
pygame.display.set_caption("Drawing Arcs")
screen = pygame.display.set_mode((600, 500))

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

    screen.fill(color1)

    ang1 = math.radians(45)
    # 设置起始角地位
    ang2 = math.radians(315)
    # 设置完结的角地位

    # 设置矩形框
    """
    元组中;第一个参数,矩形框的左上角的横坐标
    第二个参数,矩形框的右上角的纵坐标
    第三个参数,矩形框的长度
    即就是:绝对于 x 轴平行的方向的长度
    第四个参数,矩形框的宽度
    即就是:绝对于 y 轴平行的方向的长度
    
    另外,如果矩形框的长度和宽度不相等的话,绘制进去的弧线不是圆的一部分,而是椭圆的一部分 
    """
    rect1 = 100, 50, 400, 400
    # 第一个矩形框 ---- 画园的一部分
    rect2 = 200, 200, 200, 100
    # 第二个矩形框 ---- 画椭园的一部分

    pygame.draw.arc(screen, color2, rect1, ang1, ang2, width=10)
    # 参数的含意解释
    """
    第一个参数:屏幕
    第二个参数:色彩
    第三个参数:开始的角度
    第四个参数:完结的角度
    第五个参数:线条的宽度
    """

    pygame.display.update()


接下来,咱们绘制一个椭圆形的一部分:
正如前一个实例中的正文所说,如果说:这个矩形框的长度和宽度不是相等的,那么,应用这个办法就是会绘制一个放缩当前的椭圆形。
此处仅仅是吧上一个实例中的 rect1 换用为了 rect2,其余局部没有任何的变动;

import math
import pygame
import pygame.locals
import sys
import time


color1 = 144, 238, 144
color2 = 0, 0, 139


pygame.init()
pygame.display.set_caption("Drawing Arcs")
screen = pygame.display.set_mode((600, 500))

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

    screen.fill(color1)

    ang1 = math.radians(45)
    # 设置起始角地位
    ang2 = math.radians(315)
    # 设置完结的角地位

    # 设置矩形框
    """
    元组中;第一个参数,矩形框的左上角的横坐标
    第二个参数,矩形框的右上角的纵坐标
    第三个参数,矩形框的长度
    即就是:绝对于 x 轴平行的方向的长度
    第四个参数,矩形框的宽度
    即就是:绝对于 y 轴平行的方向的长度
    
    另外,如果矩形框的长度和宽度不相等的话,绘制进去的弧线不是圆的一部分,而是椭圆的一部分 
    """
    rect1 = 100, 50, 400, 400
    # 第一个矩形框 ---- 画园的一部分
    rect2 = 200, 200, 200, 100
    # 第二个矩形框 ---- 画椭园的一部分

    pygame.draw.arc(screen, color2, rect2, ang1, ang2, width=10)
    # 参数的含意解释
    """
    第一个参数:屏幕
    第二个参数:色彩
    第三个参数:开始的角度
    第四个参数:完结的角度
    第五个参数:线条的宽度
    """

    pygame.display.update()

运行代码的后果如下图所示;

咱们能够看到,这里的确是把竖直方向的宽度进行了压缩,使得本来的那个圆形变为了一个椭圆,同时,咱们也把圆弧形,变为了一个椭圆弧形。

综上,以上就是我的第一份笔记,后续会进行更新的啦,这是第一份,后续有多少还没想好,但总之会继续更新,直到我把 pygame 学习结束。后续还会去学些手游等游戏得制作,加油!

正文完
 0