pygame.draw.arc(screen, (255, 255, 255), (75, 25, 50, 50), 90, 120, 5)
pygame.draw.arc(screen, (255, 255, 255), (75, 25, 50, 50), 80, 100, 5)
因此,它必须是绘制边界的坐标。
当我在此更改75时,它只会使圆向右移动。如果更改为25,则可以使其上升或向下移动。如果我更改了前50个,则可以根据更改数字而更大或更小的宽度。如果我更改第二个50,则可以使高度更大或更小。
我刚刚尝试了小数的角度,因为坐标必须是整数。当我这样做(75, 25, 50, 50)
也许它更改了开始和结束角度的关键我会继续更新我的发现。 在评论中,我在@bashbedlam的帮助下找到了合适的人:
(75, 25, 50, 50)
我更改了坐标,但保持相同的启动和结尾角。
尽管我确实讨厌黑点,但这几乎是完美的。
屏幕是(75, 25, 50, 50)
我无法达到直角或圆本身。我不允许使用小数。仅允许整数。因此,我不知道如何正确地制作四分之一圈。感谢建议和感谢。
我只是想为帮助我的人说,我创造了自己的足球场。我把所有的线条都拔出了,但是后来我将其变成了一个PNG,因此它不会不断地用背景来落后所有27行。这是每个人的帮助的最终结果:代码的问题是,
(75, 25, 50, 50)
如documentation中所述,在弧度中占据角度。同样,在90到120之间的角度不会像您需要一样绘制和弧形,90至-90 Will。
pygame.draw.arc(screen, (255, 255, 255), (75, 25, 100, 50), 95.5, 100.5, 5)
Edit:
pygame.draw.arc(screen, (255, 255, 255), (60, 13, 50, 50), 17, 13, 5)
想想此函数就像指南针一样,它在您指定的角度(以度为单位)之间绘制一个弧线。论点600 x 600
是指南针的中心,pygame.draw.arc
是弧线与中心的距离。因此,现在只需在四个不同的角度绘制四分之一圆圈。
import pygame
import math
pygame.init()
d = pygame.display.set_mode((1200, 600))
while True:
pygame.event.get()
d.fill((255, 255, 255))
pygame.draw.arc(d, (0, 0, 0), [900, 300, 100, 100], math.radians(90), math.radians(-90), 5)
pygame.draw.arc(d, (0, 0, 0), [300, 300, 100, 100], math.radians(-90), math.radians(90), 5)
pygame.display.update()
def drawArc(display, startAngle, endAngle, distance, pos, color, thickness=1):
if startAngle > endAngle:
theta = endAngle
bigger = startAngle
else:
theta = startAngle
bigger = endAngle
while theta < bigger:
for t in range(thickness):
x = round((cos(radians(theta)) * (distance-t)) + pos[0])
y = round((-sin(radians(theta)) * (distance-t)) + pos[1])
display.set_at((x, y), color)
theta += 0.01
如果可能的话,将
pos
与浮点号一起使用。