Идентификация события Pygame KEYDOWN - PullRequest
0 голосов
/ 08 декабря 2018

Я создаю игру 2048 года и очень рано в процессе, но уже столкнулся с проблемой, которая полностью поставила меня в тупик.Вот моя основная функция (не обращайте внимания на неверные отступы, я новичок в stackoverflow)

def main():

while True:

    #Process input
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            closeGame()

        if event.type == pygame.KEYDOWN and event.key == keyESC:
            closeGame()

        if event.type == pygame.KEYDOWN and event.key == keyLEFT:
            gameArray[3][2] = 1

    drawGame()

Я ожидал после нажатия левой кнопки (которая определяется в другом месте с помощью keyLEFT = (pygame.K_LEFT)), чтобы изменить переменнуюупоминается в gameArray[3][2] = 1.

Тогда у меня есть эта функция для рисования игры

def drawGame():
screen.fill(WHITE)
pygame.draw.rect(screen, BLACK, (0, 0, 450, 450), 0)
# Printing the rows
for i in range (4):
    # Printing the cells
    for j in range (4):
        pygame.draw.rect(screen, getColour(gameArray[i][j]), (tileGAP + ((tileSPACE) * j), tileGAP + (tileSPACE * i), tileWIDTH, tileWIDTH), 0)


pygame.display.flip()

Мой вопрос: почему квадрат слева от gameArray [3] [2] не изменяется после левогоклавиша нажата?Извините, если я настроил это очень плохо, я новичок в этом.

1 Ответ

0 голосов
/ 08 декабря 2018

Попробуйте заменить "keyLEFT" на "pygame.K_LEFT" для документации по pygame .

Также см. Этот аналогичный вопрос

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