pygame鼠标绘制

pygame鼠标绘制

Pygame

Pygame 是一个开源的Python库,专为电子游戏开发而设计。它建立在SDL(Simple DirectMedia Layer)的基础上,允许开发者使用Python这种高级语言来实时开发电子游戏,而无需被低级语言(如机器语言和汇编语言)所束缚。Pygame广泛应用于教育、娱乐、模拟等领域,并且支持多个平台,包括Windows、MacOS和Linux。

鼠标绘制效果


代码

python 复制代码
import pygame
import sys

# 初始化pygame
pygame.init()

# 设置窗口大小
win_size = (800, 600)
screen = pygame.display.set_mode(win_size)

# 设置颜色(RGB)
WHITE = (255, 255, 255)  # 修正背景色为白色
RED = (255, 0, 0)

# 变量来跟踪是否正在绘制
drawing = False
# 列表来存储线条的点
lines = []

# 创建一个时钟对象来控制帧率
clock = pygame.time.Clock()

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:  # 左键按下
                drawing = True
                lines.append([(event.pos[0], event.pos[1])])  # 开始新线条
        elif event.type == pygame.MOUSEBUTTONUP:
            if event.button == 1:  # 左键释放
                drawing = False
        elif event.type == pygame.MOUSEMOTION:
            if drawing:
                mouse_pos = event.pos
                # 追加当前点到当前线条的列表中
                lines[-1].append((mouse_pos[0], mouse_pos[1]))

                # 填充背景颜色
    screen.fill(WHITE)

    # 绘制所有线条
    for line in lines:
        for i in range(1, len(line)):
            pygame.draw.line(screen, RED, line[i - 1], line[i], 5)

            # 更新显示
    pygame.display.flip()

    # 设置帧率
    clock.tick(60)

# 退出pygame
pygame.quit()
sys.exit()
相关推荐
Lxinccode3 分钟前
python(48) : 命名截图[Windows工具(3)]
开发语言·python·截图·快速截图
bestcxx31 分钟前
0.2、AI Agent 开发中 ReAct 和 MAS 的概念
人工智能·python·dify·ai agent
fsnine1 小时前
Python Web框架对比与模型部署
开发语言·前端·python
B站计算机毕业设计之家2 小时前
深度学习实战:python动物识别分类检测系统 计算机视觉 Django框架 CNN算法 深度学习 卷积神经网络 TensorFlow 毕业设计(建议收藏)✅
python·深度学习·算法·计算机视觉·分类·毕业设计·动物识别
程序猿小D2 小时前
【完整源码+数据集+部署教程】 【运输&加载码头】仓库新卸物料检测系统源码&数据集全套:改进yolo11-DRBNCSPELAN
python·yolo·计算机视觉·目标跟踪·数据集·yolo11·仓库新卸物料检测系统
SiYuanFeng2 小时前
《Synthetic Visual Genome》论文数据集的预处理
python·场景图
MUTA️2 小时前
python中进程和线程
python
jie*2 小时前
小杰深度学习(seventeen)——视觉-经典神经网络——MObileNetV3
人工智能·python·深度学习·神经网络·numpy·matplotlib
麦麦大数据2 小时前
F025 基于知识图谱图书可视推荐系统 vue+flask+neo4j | python编写、知识图谱可视化+推荐系统
vue.js·python·知识图谱·推荐算法·协同过滤·图书推荐