Python with/Pygame - 这两组的区别?

标签 python pygame

我正在使用 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/

相关文章:

python - 如何在 pandas 数据框中执行多个条件的 drop_duplicates

python - 制作 Bleach 以允许代码标签

python - 使用 innondb 引擎从 python 脚本插入 mysql 数据库中的问题

Python倒计时

python - 重置 time.clock()

python - 尝试计算 .txt 文件中的特定字符串 (python)

python - Numpy array.resize() - 零 'first'

Python Pygame 力量

python - 如何用空格键射击子弹?

python - 使用 pyenv/python 3.7 在 ubuntu 18.04 上 pip 安装 pygame