![](/img/trans.png)
[英]`pygame.mouse.get_pressed()` reports clicks when mouse is not clicked
[英]Python pygame pygame.mouse.get_pressed()[0] responses when i move mouse, not when the mouse is in the same position
我正在制作一个可以射击的 2d 游戏,所以逻辑是在pygame.mouse.get_pressed()[0]
(按下鼠标)子弹时。 问题是,当我将手指放在鼠标上并按下键时,我的代码会在我开始单击时创建一颗子弹,当我仍然单击时什么也没发生,当我移动鼠标时,子弹开始创建。 Pygame 当鼠标在单个 position 时不要创建子弹,我必须移动鼠标。 怎么了。 这是代码的重要片段。 (它在 def run() 中)
它在一个循环中( https://i.stack.imgur.com/0Y86f.png )
pygame.mouse.get_pressed()
不是事件,而是返回按钮当前的state。 您必须使用MOUSEBUTTONDOWN
事件。 另请参阅Pygame 鼠标点击检测。
pygame.mouse.get_pressed()
返回 Boolean 个值的列表,代表所有鼠标按钮的 state( True
或False
)。 只要按下按钮,按钮的 state 就是True
。 如果您只想检测鼠标按钮何时被按下或释放,则必须实现MOUSEBUTTONDOWN
和MOUSEBUTTONUP
(请参阅pygame.event
模块):
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.MOUSEBUTTONDOWN:
print("clicked", event.button)
if event.type == pygame.MOUSEBUTTONUP:
print("released", event.button)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.