首页 > 解决方案 > 如何将每个圆圈连接到pygame的左上角?

问题描述

到目前为止,我有这段代码,并且需要在单击每个圆圈时从左上角画一条线。但是,我现在只有一个星座类型,而不是圆圈连接到下一个圆圈。

from pygame import * 

init()
size = width, height = 650, 650
screen = display.set_mode(size)

BLACK = (0, 0, 0)
GREEN = (0, 255, 0)

running = True
myClock = time.Clock()
prev_pos = None

# Game Loop
while running:
    for e in event.get(): 
        if e.type == QUIT:
            running = False
        if e.type == MOUSEBUTTONDOWN:
            if e.button == 1:
                if prev_pos != None:
                    draw.line(screen, GREEN, prev_pos, e.pos)
                prev_pos = e.pos
                draw.circle(screen, GREEN, e.pos, 10)
            if e.button == 3:     
                prev_pos = None 
                screen.fill(BLACK)

    display.flip()
    myClock.tick(60)

quit()

标签: pythonpygame

解决方案


画面左上角是(0,0)。画线功能文档可以在这里找到:https ://www.pygame.org/docs/ref/draw.html#pygame.draw.line

所以只需更改您的画线代码:

TOP_LEFT = ( 0, 0 )

...

draw.line( screen, GREEN, TOP_LEFT, e.pos )

会给你一条从左上角到每个圆圈中心的线。

所有这些操作都非常简单,如果您花很短的时间阅读文档,它将真正帮助您学习 - 至少对于您尝试实现的操作而言。从 SO 复制和粘贴代码并不是学习任何东西的好方法。


推荐阅读