簡體   English   中英

用橢圓pygame畫圓

[英]draw circle with ellipse pygame

我試圖使用pygame編寫繪畫程序,但是橢圓工具出現問題。 我希望用戶在握住鼠標時能夠將橢圓畫成實心或環形。 然后,我希望用戶在按住shift時能夠繪制圓。 我知道有辦法做到這一點。 我就是不知道 我有一個矩形工具,可以根據相同的想法繪制正方形,並且可以工作。 不是這樣 請幫忙。

if tool=="ellipse":
                screen.blit(copy,(0,0))
                a=min(mx,start[0])
                b=min(my,start[1])
                x=abs(mx-start[0])
                y=abs(my-start[1])
                if keys[304] or keys[305]:
                    y=x

                if keys[32]:
                    if x<size*2 or y<size*2:
                        draw.ellipse(screen,(c),(a,b,x,y))    
                    else:
                        draw.ellipse(screen,(c),(a,b,x,y),size)
                else:
                    draw.ellipse(screen,(c),(a,b,x,y))

我不知道您要在這里做什么,但是看起來不必要地復雜。 您所需要做的就是這樣,其中downpos是放下鼠標的位置,而pos是現在放下鼠標的位置:

if tool=="ellipse":#and the mouse is being clicked
    if downpos[0]<pos[0]:
        l=downpos[0]
    else:
        l=pos[0]
    if downpos[1]<pos[1]:
        t=downpos[0]
    else:
        t=pos[0]
    if shiftDown:
        if l<t:
            pygame.draw.ellipse(screen, c, (l, l, abs(downpos[0]-pos[0]), abs(downpos[1]-pos[1])), size)
        else:
            pygame.draw.ellipse(screen, c, (t, t, abs(downpos[0]-pos[0]), abs(downpos[1]-pos[1])), size)
    else:
        pygame.draw.ellipse(screen, c, (l, t, abs(downpos[0]-pos[0]), abs(downpos[1]-pos[1])), size)

我還沒有測試過,所以如果它不起作用,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM