Pygame在pycharm中不起作用,只是弹出一个黑色窗口

时间:2019-08-17 18:17:21

标签: python events pygame

我在pycharm中使用了这段代码,但是所有事件的打印均无效(退出,单击鼠标键或按下键盘上的键)

虽然我看到了pygame窗口,但是事件不起作用。

我还使用了get()而不是wait(),但还是没有运气。

有什么想法吗?

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))

while True:
    event = pygame.event.wait()

    if event.type == pygame.QUIT:
        print('Quit')

    if event.type == pygame.KEYDOWN:
        print('Key Down')
        print(event.key)
        print(event.unicode)

    if event.type == pygame.KEYUP:
        print('Key Up')
        print(event.key)

    if event.type == pygame.MOUSEBUTTONDOWN:
        print('Mouse Button Down')
        print(event.pos)
        print(event.button == pygame.BUTTON_RIGHT)
        print(event.button == pygame.BUTTON_LEFT)

    if event.type == pygame.MOUSEBUTTONUP:
        print('Mouse Button Up')
        print(event.pos)
        print(event.button == pygame.BUTTON_RIGHT)
        print(event.button == pygame.BUTTON_LEFT)

    if event.type == pygame.MOUSEMOTION:
        print('Mouse Motion')
        print(event.pos)
        print(event.rel)

更新 我发现这是pycharm的问题。 当我用pygame运行任何代码时,仅弹出一个黑色的pygame窗口,它不运行任何其他代码(事件,用颜色填充窗口,...)。甚至pygame窗口也不在我​​指定的尺寸内。

这里是另一个代码示例。

import pygame

pygame.init()
screen = pygame.display.set_mode((200, 200))

red = (255, 0, 0)
screen.fill(red)
pygame.display.update()
pygame.time.delay(10000)

当我在VS代码中运行它时:

Vs code pygame test

当我在pycharm中运行它时:(:

Pycharm pygame test

我还为VS代码和pycharm定义了相同的解释器,并且我已经重新安装了pygame软件包。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用完整的游戏循环,因为这会反复更新窗口。

尝试:

import pygame

pygame.init()
screen = pygame.display.set_mode((200, 200))

red = (255, 0, 0)
running = True
while running:
    screen.fill(red)
    pygame.display.flip()
    for event in pygame.event.get():
        if event.type = pygame.QUIT:
            running = False
pygame.quit()

答案 1 :(得分:0)

我使用的是pycharm,但是所有代码都没醒,所以我用鼠标右键单击它,然后选择在python cnsole中运行。 要么 :::::::::::: SHIFT + ALT + E