You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyGame实现左键点击生成圆形并从头开始增长的问题求解

问题原因

当前代码中控制圆形半径的变量r会在主循环中持续自增,触发鼠标左键点击事件时,仅更新了圆心坐标x、y,没有同步重置半径值,因此圆形只会移动到点击位置继续增大,不会从头开始生长。

修复方法

在鼠标左键点击的事件处理分支中,更新圆心坐标的同时将r重置为初始值0即可,修改后的完整代码如下:

import pygame

size = width, height = 800, 600
screen = pygame.display.set_mode(size)
clock = pygame.time.Clock()
fps = 30

MintCream_COLOR = (245, 255, 250)
LightSkyBlue_COLOR = (135, 206, 250)

x = y = 40

def draw(radius):
    pygame.draw.circle(screen, LightSkyBlue_COLOR, (x, y), radius)
r = 0

running = True
pygame.display.update()

while running:
    screen.fill(MintCream_COLOR)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
            x, y = event.pos[0], event.pos[1]
            r = 0  # 点击时重置半径为初始值

    draw(r)
    r = r + 1

    pygame.display.flip()
    clock.tick(fps)

pygame.quit()

内容的提问来源于stack exchange,提问作者Anna Khishchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:48:04