变量更改后,变量返回旧值

时间:2015-05-29 10:29:07

标签: python pygame

我只想使用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)

1 个答案:

答案 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)