首页 > 解决方案 > 我正在使用 PyGame 在 python3.6.5 中创建蛇游戏。这是初始代码,它在 PyCharm 上运行良好。但是我在 VSCode 中遇到了问题

问题描述

import pygame
pygame.init()
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)

gameDisplay = pygame.display.set_mode((800, 600))
pygame.display.set_caption('Snake')

gameExit = False

lead_x = 300
lead_y = 300

lead_x_change = 0
lead_y_change = 0

clock = pygame.time.Clock()

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:
                lead_x_change = -10
                lead_y_change = 0

            elif event.key == pygame.K_RIGHT:
                lead_x_change = 10
                lead_y_change = 0

            elif event.key == pygame.K_UP:
                lead_y_change = -10
                lead_x_change = 0

            elif event.key == pygame.K_DOWN:
                lead_y_change = 10
                lead_x_change = 0

    if lead_x >= 750 or lead_y >= 599 or lead_y < 0 or lead_x < 0:
        gameExit = True

    lead_x += lead_x_change
    lead_y += lead_y_change
    gameDisplay.fill(white)
    pygame.draw.rect(gameDisplay, black, [lead_x, lead_y, 10, 10])
    pygame.display.update()

    clock.tick(15)

pygame.quit()
quit()

我在 VSCode 中遇到以下问题:

E1101:模块“pygame”没有“init”成员
E1101:模块“pygame”没有“K_RIGHT”成员
E1101:模块“pygame”没有“QUIT”成员
E1101:模块“pygame”没有“KEYDOWN”成员
E1101:模块“pygame”没有“K_LEFT”成员
E1101:模块“pygame”没有“退出”成员
E1101:模块“pygame”没有“K_DOWN”成员
E1101:模块“pygame”没有“K_UP”成员
为什么显示 VScode PyCharm 没有显示任何错误和问题时出现这些问题?

标签: visual-studio-codepygamepython-3.6pylint

解决方案


这些消息是由 pylint 生成的。出于安全原因,Pylint 默认禁用加载 C 扩展(在本例中为 Pygame)。要启用它,请将其添加到您的设置中:

"python.linting.pylintArgs": [
    "--extension-pkg-whitelist=pygame"
]

如果您有其他设置正确,这应该足够了。


推荐阅读