[英]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.