Python w / Pygame - Разница между этими двумя наборами? - PullRequest
1 голос
/ 13 февраля 2012

Я использую 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

1 Ответ

4 голосов
/ 13 февраля 2012

Но это не единственная разница. Это синтаксическая ошибка:

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

Он также отличается от вышеупомянутого тем, что он вызывает aaline вместо line и имеет отступ с 8 пробелами вместо 4. Любое из этих различий может вызывать проблемы (так как отступ для 8 пробелов, для меня, предложить возможное сочетание символов табуляции и пробелов.)

Кроме того, в общем случае рекомендуется отправлять трассировку стека, когда вы получаете сообщение об ошибке из фрагмента кода. Они содержат полезную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...