Ray -Song 2022-09-12 16:12 采纳率: 53.8%
浏览 32

Pygame 运行中途卡顿

为什么我使用Pygame时,运行中间有卡顿现象?

只是运行中途,飞船刚刚开始转向或前进的时候会有卡顿,过了一会就不卡了。

我使用了这些代码,可能是他们的问题。

timer = pygame.time.Clock()
timer.tick(tick)
pygame.display.flip()

这是程序中记录的卡顿现象
格式:(帧数,飞船速度)
如果还需要其他数据,请在评论区留言

(61, 1.6)
(61, 1.6)
(61, 1.6)
(61, 1.6)
(61, 1.7)
(61, 1.7)
(61, 1.7)
(61, 1.7)
(61, 1.7)
(61, 1.8)
(61, 1.8)
(53, 1.8)
(53, 1.8)
(53, 1.8)
(53, 1.9)
(53, 1.9)
(53, 1.9)
(53, 1.9)
(53, 1.9)
(53, 2.0)
(53, 2.0)
(35, 2.0)
(35, 2.0)
(35, 2.0)
(35, 2.1)
(35, 2.1)
(35, 2.1)
(35, 2.1)
(35, 2.1)
(35, 2.2)
(35, 2.2)
(7, 2.2)
(7, 2.2)
(7, 2.2)
(7, 2.3)
(7, 2.3)
(7, 2.3)
(7, 2.3)
(7, 2.3)
(7, 2.4)
(7, 2.4)
(21, 2.4)
(21, 2.4)
(21, 2.4)
(21, 2.5)
(21, 2.5)
(21, 2.5)
(21, 2.5)
(21, 2.5)
(21, 2.6)
(21, 2.6)
(61, 2.6)
(61, 2.6)
(61, 2.6)
(61, 2.7)
(61, 2.7)
(61, 2.7)
(61, 2.7)
(61, 2.7)
(61, 2.8)
(61, 2.8)
(61, 2.8)
  • 写回答

1条回答 默认 最新

  • Python-ZZY 2022-09-12 20:04
    关注

    可能1:你的电脑不好。
    可能2:因为我看不到完整代码,所以我不知道你把timer = pygame.time.Clock()这行代码写在了什么地方。不要把这行代码写在while循环中,而应该写在外面。tick要写在循环里面。
    可能3:不要使用pygame.display.flip()而使用pygame.display.update()。flip方法会刷新整个屏幕,update只会刷新更改过的部分,所以update会快一些。
    可能4:在for event in pygame.event.get()里面使用了大量的if...if...if...结构而不是if...elif...elif...结构判断事件的类型。if...是继续运行的,所以可能会卡

    评论

报告相同问题?

问题事件

  • 修改了问题 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急