Pygame中'LEFT'未定义

0 投票
2 回答
3089 浏览
提问于 2025-04-17 15:52

我正在做一个游戏,已经导入了pygame库。
我使用的是Python 3.3和Pygame 3.3。
我总是收到同样的错误信息:“LEFT”没有定义。
我在网上找了很多资料,照着做了,但还是不行。
这是我的代码。我尝试了几种不同的方法,但都没有成功。

方法1:

import pygame
event = pygame.event.poll()
if event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT:
    ....command

方法2:(基本上是全力以赴)

from pygame import *
from pygame.locals import *
import pygame
event = pygame.event.poll()
if event.type == MOUSEBUTTONDOWN and event.button == LEFT:
    ......command

在告诉我之前,我在这两种方法中都尝试过在“LEFT”和“pygame.LEFT”之间切换,等等。

有没有什么想法?

非常感谢。

2 个回答

1

正如 Martijn Pieters 提到的pygame 库并没有为 event.button 的可能值提供常量。

以下是我认为的一个完整的可能值列表(以类的形式,这样不会让你的全局命名空间变得杂乱):

class MouseButtons:
    LEFT = 1
    MIDDLE = 2
    RIGHT = 3
    WHEEL_UP = 4
    WHEEL_DOWN = 5
6

自己定义一下 LEFT

LEFT = 1

我觉得你正在跟随的这个Pygame教程正好说明了这一点。换句话说,pygame这个库并没有为这个值提供常量,它只是一个整数。

撰写回答