我正在使用Python 2.7和Pygame 1.9.1
pygame和IDLE在某些方面彼此不喜欢的事实无关紧要,因为我也尝试将其作为.py文件运行。

这有效:

import pygame

y = 0
dir = 1
running = 1
width = 800
height = 600
screen = pygame.display.set_mode((width, height))
linecolor = 255, 0, 0
bgcolor = 0, 0, 0

while running:
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
        running = 0

    screen.fill(bgcolor)
    pygame.draw.line(screen, linecolor, (0, y), (width-1, y))

    y += dir
    if y == 0 or y == height-1: dir *= -1

    pygame.display.flip()


但这不起作用:

import pygame

y = 0
dir = 1
running = 1
width = 800
height = 600
linecolor = 255, 0, 0
bgcolor = 0, 0, 0
screen = pygame.display.set_mode((640, 400))


while running:
        event = pygame.event.poll()
        if event.type == pygame.QUIT:
            running = 0

        screen.fill(bgcolor)
        pygame.draw.aaline(screen, linecolor, (0, y), (width-1, y)

        y += dir
        if y == 0 or y == height-1: dir *= -1

        pygame.display.flip()


谁能解释这些差异,为什么一个人能胜过另一个人?

唯一的区别似乎是两条线的位置:

linecolor = 255, 0, 0




bgcolor = 0, 0, 0

最佳答案

但这不是唯一的区别。这是语法错误:

    pygame.draw.aaline(screen, linecolor, (0, y), (width-1, y)


它与上面的区别还在于,它调用aaline而不是line,并且缩进了8个空格而不是4个空格。这些差异中的任何一个都可能引起问题(因为对我来说,8个空格的缩进表示一种可能标签和空格的混合。)

同样,通常,当您从一段代码中获取错误时,发布堆栈跟踪是一个好主意。它们包含有用的信息。

关于python - Python with/Pygame-这两组之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9254970/

10-11 21:59
查看更多