问题标签 [pygame-tick]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pygame clock.tick() vs 游戏主循环中的帧率
每个 pygame 都有一个如下所示的游戏循环:
根据api get_ticks()
:
返回自调用 pygame.init() 以来的毫秒数。在初始化 pygame 之前,这将始终为 0。
但是clock.tick()
:
此方法应每帧调用一次。它将计算有多少 . 自上次调用以来已经过去了毫秒。
如果您传递可选的帧速率参数,该函数将延迟以使游戏运行速度低于给定的每秒滴答数。这可以用来帮助限制游戏的运行速度。通过每帧调用一次 Clock.tick(40),程序将永远不会以每秒超过 40 帧的速度运行。
我有点疑惑,是不是说clock.tick()
直接影响到游戏开始后经过了多少毫秒?
那么clock.tick(40)
意味着我每秒“发出” 40 帧,而 while 循环每秒运行 40 次?
我没有看到 fps 和滴答声之间的关系。
更新:我实际上只是对其进行了测试,并且get_ticks()
无论您给tick() - 0.1
or 30
or的 fps 是多少,它仍然以 mls 为单位返回实时时间60
。
因此,它似乎clock.tick()
只是设置了游戏应该运行多快或者while 循环应该多久更新一次,通过自身运行。
但是我仍然有点困惑,欢迎其他答案。
python - Pygame - 仅运行一次 3 秒的事件
我对 PyGame 还很陌生,我正在创建一个太空射击游戏。这个游戏的一部分是通电,当玩家拾取特定的通电时,我希望玩家在 3 秒内不能射击。射击是通过鼠标点击完成的。
我可以捡起道具,我知道玩家上次捡到的道具是什么,但我正在为这个事件而苦苦挣扎。我正在考虑的实施方式是:
- Can't Shoot power up 被拾取 -> 完成了
- 阻止鼠标按钮
- 等待 3 秒,而游戏的其余部分仍在运行
- 取消阻止鼠标按钮。
我知道 Python 函数(例如 wait)无济于事。
有什么想法/建议吗?谢谢
python - 无法让我的暂停功能在 Pygame 3.4 中工作
我正在制作一个乒乓球游戏,但无论我尝试什么,我都无法实现一个暂停系统,当按下 CTRL + C 时它会停止。
我试过了:
和:
和:
如何让我的游戏暂停直到按下 CTRL + C?
python - 与pygame不一致的运动
我遇到了一个问题,我每次执行程序时都试图让一个圆圈去同一个地方。但是每次我运行代码时,点并不总是排成一行。我在同一个地方有一个测试圈来比较运行。红色圆圈应该完美地覆盖白色圆圈,但每次我运行程序时它都会改变。我正在重置内核,因为我正在使用 pygame.time.get_ticks() 来计时一切。
python - 如何在pygame中通过光标移动移动Sprite图像?
现在在下面我所做的只是简单地创建了一个如图所示的精灵.. 为了做一些有趣的事情,考虑到线程我添加了一个线程来检查光标位置,因此更新全局 x 和 y 导致精灵位置的变化由display.update 我是新手,所以我可能在很多方面都错了……所以请多多包涵……非常感谢
***以下是我的最新代码---------根据答案更新***请检查
python - 在更新循环内绘制循环(每秒)
我的代码简化了:
它应该做的是每秒应该有一些更新等于 UPS 值。每次更新后,绘制的帧数将等于 FPU。这确实意味着 FPS 是 UPS*FPU。
我的问题是如何将其设置为流畅,流畅。平滑度是这个问题的关键问题。
我需要让每个game.draw()
人(在时间上)彼此距离相等。
Clock = pygame.clock
然后Clock.tick(UPS*FPU)
不起作用,因为更新发生的次数与 draw * FPU 一样多。
我应该在时钟内使用时钟吗?那行得通吗?(我试过了,但我不确定结果——它是否适用于所有极端情况。)
或者也许只是在时钟内?那行得通吗?
有pygame.Clock我正在考虑使用tick.tick_busy_loop()但这是实验的问题 - 与这个问题无关。
python-3.x - pygame 在有限的 for 循环中冻结
pygame 在循环 150 左右冻结在此循环中。循环继续,但 pygame 停止更新这是我的代码:
所以这段代码应该做的是在一个文件夹中播放一系列图像。但 pygame 冻结,循环继续。这是一个for循环。这是我的更新方法吗?有没有办法来解决这个问题?
另外,如果我将帧速率降低到 10 左右,同样的事情也会发生在同一帧。有限制pygame.display.update()
吗?
python - 在执行 pygame 时提高性能?
我的 pygame 运行得太慢了。不使用类 oop 它运行完美,但现在使用 oop 非常慢。
我已经测试过将那个单独的类文件也放在主文件中,但结果是一样的。
另一个文件:导入 pygame
python - Pygame在添加一点代码后突然卡顿了,为什么呢?
我有一个用 Pygame 制作的游戏,我添加了一个“小”更新,当按下空格键时,一个精灵会在 80 毫秒内变为另一个精灵,这会使整个游戏滞后(不仅仅是在按下空格键时,而是一直)。任何人都可以帮忙吗?:)
这是“更新”之前的一些代码:
人.py
游戏功能.py
这是“更新”之后的相同代码:
人.py
游戏功能.py
python - 试图控制我的 Pong 循环速度
我试图让我的乒乓球游戏以特定的 fps 运行循环,但我尝试了几件事,但没有奏效,我没有被教导如何使用 pygame 速度/时钟,所以我必须弄清楚我自己出去
我正在尝试使循环以一定的速度运行以使其看起来更平滑,因为如果我编辑 dx 或更改它时它所处的位置,它看起来很厚实,所以而不是桨 10 x 向下(看起来矮胖)我想将它向下移动 1 倍,所以它向下移动的速度与 10 倍一样快,但更平滑
完整代码