python:pygame 画圆圈

向 豆包 提问:请把这个 p5.js 脚本翻译为 python 脚本,用 pygame 实现画圆圈。要像 p5.js 一样有画布留痕的效果。

vite:初学 p5.js demo: 画圆圈

编写 test_pygame_circle.py  如下

# -*- coding: utf-8 -*-
""" 模仿 p5.js 画圆圈,有画布留痕的效果 """
import math
import pygame

# 初始化 Pygame
pygame.init()

# 设置窗口尺寸
width, height = 400, 400
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Circle Drawing")

# 初始化计数器和绘制标志
count = 0
is_drawing = True

# 创建一个 Clock 对象用于控制帧率
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:
            # 鼠标点击时,切换绘制状态
            is_drawing = not is_drawing

    if is_drawing:
        # 计算圆形的位置
        x = int(math.sin(count) *100 + 200)
        y = int(math.cos(count) *100 + 200)
        # 绘制空心圆形,设置宽度为 2 来表示边框宽度
        pygame.draw.circle(screen, (255, 255, 255), (x, y), 25, width=2)
        count += 0.1

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

    # 控制帧率为 60 FPS
    clock.tick(60)

# 退出 Pygame
pygame.quit()

运行 python test_pygame_circle.py 

自己可以调节帧率为 30 FPS,请尝试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值