我只想使用pygame.draw.line
方法绘制三角形。
我定义了一个函数drawTriangle
,它将起始的x和y坐标作为参数,将它们放在一个元组中,然后再创建两个元组,其值取决于起始的x和y坐标。
这三个点将是三角形的顶点。然后该函数绘制3条线 - 从point1到point2,从point2到point3,然后从point3返回到point1。
问题是当我运行程序时,只绘制了一行。
def drawTriangle(startx, starty):
point1 = (startx, starty)
point2 = (startx + 20, starty + 20)
point3 = (startx -30, starty - 30)
pygame.draw.line(SURFACE, GREEN, point1, point2)
pygame.draw.line(SURFACE, GREEN, point2, point3)
pygame.draw.line(SURFACE, GREEN, point3, point1)
答案 0 :(得分:1)
您的所有积分都位于同一条线上。 可能需要:
def drawTriangle(startx, starty):
point1 = (startx, starty)
point2 = (startx + 20, starty + 20)
point3 = (startx -30, starty + 30)
pygame.draw.line(SURFACE, GREEN, point1, point2)
pygame.draw.line(SURFACE, GREEN, point2, point3)
pygame.draw.line(SURFACE, GREEN, point3, point1)