events - AttributeError:“事件”对象没有属性“mouse_pos”
问题描述
我只想随时保存鼠标位置。为什么这个简单的代码不起作用?
import pygame
screen = pygame.display.set_mode((500,500))
screen.fill((255,255,255))
while True:
ev = pygame.event.get()
for event in ev:
pos = pygame.mouse.get_pos()
if event.type != pygame.NOEVENT:
mouse_pos = pygame.mouse.get_pos()
x, y = event.mouse_pos
print(x, y)
解决方案
可以在事件处理循环之外跟踪鼠标位置。
import pygame
import sys
screen = pygame.display.set_mode((500,500))
screen.fill((255,255,255))
last_pos = (-1,-1)
while True:
# handle user events
ev = pygame.event.get()
for event in ev:
if event.type == pygame.QUIT:
sys.exit()
# track the mouse co-ords
mouse_pos = pygame.mouse.get_pos()
if ( mouse_pos != last_pos ):
x,y = mouse_pos
print(x, y)
last_pos = mouse_pos
推荐阅读
- android - IllegalStateException 崩溃:移动到第二个活动以使用使用 Kotlin 的 Searchview 时,搜索不能为空
- assembly - 6502 汇编二进制到 bcd - 在 x86 上可能吗?
- javascript - 如何更改 react-select Select 元素的边框?
- actions-on-google - last_simple 如何在 Actions Builder 中工作?
- codeceptjs - 将页面对象中的函数调用到另一个页面对象后,测试不会继续运行 - Codeceptjs
- html - Pug 预处理器和缩进的问题
- javascript - 如何从 URL 中删除 accesstoken
- python - 有没有办法将秘密 python 模块与种子一起使用?
- html - div元素的边界矩形的奇怪行为
- php - 从本地 php 服务器查询时,AWS RDS Postgres 非常慢