我正在使用 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 with/Pygame - 这两组的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9254970/