我需要能够在处理按键事件时移动鼠标。在
我该怎么做?在
下面是我现在使用的基本代码:
import pygame, sys
from pygame.locals import *
pygame.init()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == USEREVENT + 1:
rotate = True;
if event.type == KEYDOWN:
if event.key == K_LEFT or event.key == K_a:
moveX = -1*moveSpeed
elif event.key == K_RIGHT or event.key == K_d:
moveX = moveSpeed
if event.key == K_DOWN or event.key == K_s:
moveY = moveSpeed
elif event.key == K_UP or event.key == K_w:
moveY = -1*moveSpeed
当下面的脚本正在运行并且我按下一个键时,我不能移动鼠标。。在
循环的主要问题是“帧”之间没有延迟——也就是说,你只是以最大的CPU速度循环事件循环——这使得按键生成大量(可能意味着大约数百万量级)的按键按下事件被读取。在
所以:
pygame.time.delay(x)
,其中有x 在15到100之间-这会给你很多 间隔时间毫秒pygame.event.pump()
调用-这将保留事件 缓冲流动,防止细微的不良行为 不同的系统-1*moveSpeed
”这样的东西来 获取变量的负值-只需使用“-moveSpeed
” 相反。在另外,这应该可以停止冻结,但是pygame只能在它自己的显示窗口中捕捉鼠标或键事件(您没有初始化),您必须调用
pygame.display.set_mode
才能真正看到一些东西。在相关问题 更多 >
编程相关推荐