我目前正在使用PyGame(Python 3)制作一个游戏,我正在寻找一种使游戏以固定的FPS运行的方法。
游戏的大部分内容都位于一个巨大的while循环中,用户在其中输入,精灵被渲染,等等。我的目标是能够设置一个固定的FPS,使游戏在快速或慢速计算机上以相同的速度运行。
当然,我可以在pygame中使用时钟模块:
clock = pygame.time.Clock()
然后将其称为每个循环:
clock.tick(30)
但这将使游戏限制在每秒30帧。因此,如果我将其设置为500 FPS,它可能仍会像以前一样运行。我的目标是,如果我将它设置为500 FPS,它将以与500 FPS相同的速度运行。。。
那么,有没有可能让游戏以固定的FPS运行(或者制造一种幻觉),不管计算机的速度如何——或者至少通过使用一些跳帧算法以相同的速度运行?
很抱歉,如果这个措词很混乱的话。
clock.tick返回自上次调用clock.tick.的时间使用该值,并在移动时将所有速度相乘。示例
dt = clock.tick(60)
player.position.x += player.xSpeed * dt
player.position.y += player.ySpeed * dt
这样,您的播放器将始终以相同的速度移动,这与您在clock.tick()
函数中投入的内容无关。
重要的是只调用时钟。勾选()
每帧一次。
问题内容: 好的,我注意到了一些东西,但是在CSS规范中找不到。样式化元素将相对于浏览器视口绝对定位。如果将固定位置的元素放置在另一个元素内会怎样?CSS示例如下: 和HTML: 据我所知,该元素相对于其最近的父元素也是固定位置的。这在所有浏览器中都可以使用吗?另外,它是错误还是故意行为? 到目前为止,我在互联网上没有找到关于此主题的任何内容,只是“固定位置使其固定在页面上”。 问题答案: 固定和
问题内容: 简单方案: 我需要为设置一个固定宽度。我试过了: 也 对于 乃至 但是的宽度仍然相同。 问题答案: 对于Bootstrap 4.0: 在Bootstrap4.0.0中,您不能可靠地使用这些类(在Firefox中有效,但在Chrome中不适用)。您需要使用OhadR的答案: 对于Bootstrap 3.0: 在twitter bootstrap 3中使用:其中*是宽度的列数。 对于Boo
如何在css中设置固定背景并滚动???而且我一直试图设置一个背景来覆盖所有维度,因为我总是以模糊的背景结束:( 我在这方面相对较新,所以请不要评判我,这是我的css:body#bg{宽度:100%;高度:100%;位置:绝对;左:0px;顶部:0px;z-index:0;背景附件:固定; }
问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: iOS 5 支持position:fixed
问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-请在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: 这个固定位置的div可以仅用两行代码来实现,该代码将div滚动移动到页面底部。
因此,在回答我的问题(如何连续移动图像平滑Pyplay?)我被告知设置我的帧率,以便做我的动画。但是不管我把它放在哪里,什么都不做。我做BTW。那么我该怎么做呢?我已经研究并发现了这一点(pyplayclock.tick()vs在游戏主循环中的帧率),但我并不真正理解这一点。 我的主要游戏功能; 这是我的主要游戏循环; 主游戏循环不会设置帧速率,因为主游戏函数中有一个循环。这只是一个循环,因为当我