【问题标题】:Having some problems with PygamePygame有一些问题
【发布时间】:2015-10-07 22:54:34
【问题描述】:

这是我的脚本:

import pygame

pygame.init()

gameDisplay = pygame.display.set_mode((600,600))

pygame.display.set_caption('Doge Adventures')

gameexit = False

move_x = 300
move_y = 300
move_x_change = 0
move_y_change = 0 

while not gameexit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameexit = True

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                move_x_change = -10 
            if event.key == pygame.K_RIGHT:
                move_y_change = 10

move_x += move_x_change

gameDisplay.fill(white)

pygame.draw.rect(gameDisplay, black, [move_x, move_y, 10, 10])

pygame.display.update()

pygame.quit()
quit()

问题是当我运行它时,什么都没有发生,也没有错误。只是弹出空闲,但没有窗口。我想知道我的代码是否有问题。我正在使用 pygame 2.6 运行 python 2.6

【问题讨论】:

  • 您提供的代码格式是否与您的文本编辑器中的格式完全相同?如果是这样,那么您必须缩进所有内容(最后两行除外),以便它们在 while 循环内。
  • 完全正确您是如何尝试运行文件的?另外,最后删除“quit()”。如果可能,请升级到 2.7.10 或 3.4 或 3.5。在 5 年多的时间里,许多错误已得到修复,并取得了许多改进。

标签: python pygame python-idle


【解决方案1】:

正如我所说,您需要缩进所有内容,但我在您的代码中发现了很多问题,这是我做的一个版本:

import pygame

pygame.init()

gameDisplay = pygame.display.set_mode((600,600))

pygame.display.set_caption('Doge Adventures')

gameexit = False

move_x = 300
move_y = 300
white = (255, 255, 255)
black = (0, 0, 0)

while not gameexit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameexit = True

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                move_x -= 10
            elif event.key == pygame.K_RIGHT:
                move_x += 10                
            elif event.key == pygame.K_UP:
                move_y -= 10
            elif event.key == pygame.K_DOWN:
                move_y += 10


    gameDisplay.fill(white)

    pygame.draw.rect(gameDisplay, black, [move_x, move_y, 10, 10])

    pygame.display.update()

pygame.quit()
quit()

我向您推荐 Al Sweigart 的 Python/Pygame 书。真是一本好书。

【讨论】:

  • 谢谢!这很有帮助,因为现在我了解了主循环中包含哪些内容和不包含哪些内容的要点。我去看看 Al Sweigart 的书。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 1970-01-01
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多