我正在做一个pyplay项目,它应该只有4 fps,这使得它每0.25秒一帧。我的问题是,当你短暂地点击一个键时,事件可能不会被检测到,因为程序不会在整个0.25秒内检查事件,而是每0.25秒检查一次,这使得它很容易错过一个事件。有没有办法在pyplay中解决这个问题?(我使用clock.tick()设置fps)
我无法为您的特殊情况提供解决方案,因为您没有向我们显示您的代码。然而
我的问题是,当您短暂单击某个键时,可能无法检测到该事件
不,那不是真的。检测到所有事件<代码>pygame。事件get()返回自上次调用此函数以来发生的所有事件。查看如何在pygame?中获取键盘输入
您的游戏逻辑可能错误,当KEYDOWN
事件发生时,您正在设置一个状态,但当keydup
事件发生时,将其停止。这将导致该行为。
甚至可以比应用程序循环更频繁地运行事件循环。以更高的帧速率运行应用程序循环和事件循环,但仅以4fps的速度运行游戏。例如,以40 FPS的速度运行应用程序循环。使用帧计数器,当计数器达到10时运行游戏:
clock = pygame.time.Clock()
frame_count = 0
run = True
while run:
clock.tick(40)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
frame_count = (frame_count +1) % 10
if frame_count == 0:
# run game and do drawing
# [...]
pygame.display.flip()
在我的游戏中,我在中创建了许多循环和方法。我的笔记本电脑中的FPS范围从到不等,这是可以的。然而,当我在Galaxy Note 4的Android操作系统中运行它时,FPS的范围从到不等,这是不太好的。 现在我需要一个新的呈现线程,以同步呈现: 有人能帮我解决这个问题吗?
将jboss-remote-naming-1.0.7.final.jar添加到类路径中 二次误差 添加了jboss-logging.jar 我使用Eclipse的Project Explorer验证了: jboss-remoting3.jar具有org.jboss.remoting3.remoting类。 b.远程处理类具有以下方法: 这可能吗?一个jar说它有org.jboss.remoting
在我的Angular5应用程序中,我有一个选择日期列表的垫子。当用户从选项中选择新日期时,my selectionChange processor启动数据请求。 我试图编写一个Jasmine测试来模拟用户交互,以验证处理是否正确完成。我不知道如何让mat select选择一个值并发出selectionChange,就像用户进行了选择一样。 我在Angular Material2 GitHub(第5
我一直在尝试学习pygame,更具体地说,学习如何在pygame中使用精灵。然而,经过一点实验,下面的代码就是我最终得到的,我想知道为什么我的播放器类没有出现。
我试图创建一个MP3播放器与Tkinter和PyGame(它的音乐模块)。我已经写了一个方法来检查歌曲是否已经播放完毕,但问题是程序本身在其中循环,我不知道如何以不同的方式实现它。还有别的办法吗? 更新的 以下是相关方法的代码:
问题内容: 我的SpriteKit运动场笔记本在MacBook Pro上平均为15 FPS。 游乐场的运行速度是否比iOS设备模拟的运行速度慢?如果我在iPad Pro上运行同一本运动场游戏,FPS限制是否会相似?我的计算机上打开的其他应用程序会限制游乐场的速度吗? 编辑: 运动代码(例如子类和辅助代码的扩展名)在运动场书的“源”文件夹中移动,因为模拟只能编译一次,因此模拟可以更快地运行。 问题答