问题标签 [pygame-clock]

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.

0 投票
1 回答
57 浏览

python - 如何在不影响其他人的情况下冻结pygame中的特定实例

我正在使用 pygame 开发一个火车模拟器(仅使用一个矩形来表示一列火车)我有一个类火车,这个类有一个停止功能来停止每个车站的火车(由 x 坐标定义):

此实现适用于一个火车实例,但我的问题是,当添加更多火车时,如果一个实例停在其车站,所有其他火车实例即使不在车站也停止!

我也尝试过这个实现,但它没有用:

这个答案对我也不起作用:https ://stackoverflow.com/a/46801334/11334093

是多线程问题吗?我是否需要为每个火车实例创建一个线程,以便它们可以独立执行停止功能?或者我如何为这个功能使用多处理技巧?

这是我的整个火车课:

我还有另一个函数,我在其中调用:

op_train 是一个包含所有列车实例的列表,一次由一列列车填充。

0 投票
1 回答
98 浏览

python - 是否可以在 PyGame 中重置计时器?

第一次发帖,希望大家帮帮我:)

我正在做一个我想玩 SET 游戏的项目。一切正常(JEEJ),但是我希望能够使用某种时间功能。这将执行以下操作:

我尝试了很多东西;使用 time.time(),但据我所知,这无法重置;我发现了一些我尝试使用的类似秒表的类,但它们很慢(?);我试过 perf_counter() ......但现在我不知所措,所以我希望你们中的任何人都知道该怎么做......请注意,我想“玩”游戏并在时间流逝时做一些动作......提前谢谢了!

0 投票
1 回答
39 浏览

python - 为什么我的 pygame 程序运行时间越长越慢?

我正在制作一个平台游戏,玩家通过交换背景颜色来改变地形。所有的机制都正常运行,但是我的程序运行的速度逐渐变得非常缓慢,我不知道为什么。我已经尝试在某些地方整理我的代码,但我似乎无法让它以恒定的速度运行。为什么会发生这种情况,我该如何解决?我很感激你们得到的任何帮助或提示!

这是我的完整代码:

0 投票
1 回答
49 浏览

pygame - 使用 pygame.time.delay() 时在 pygame 中遇到延迟

我正在构建一个 Hangman 游戏作为我的第一个 Pygame 项目。游戏结束后,我希望屏幕暂停一秒钟,然后显示结果消息几秒钟,然后退出游戏。我有以下功能:

直到最后一次正确/错误的猜测,游戏都按预期运行,但是在显示结果消息时,游戏开始缓冲整个延迟持续时间,并且结果消息仅在退出游戏之前在屏幕上短暂闪烁。无论我设置什么延迟时间,都会发生这种情况。请帮助我了解我在这里缺少什么。谢谢你。

0 投票
2 回答
83 浏览

python - 我改变了速度以制作破折号,但想在这里添加一些破折号长度限制

因此,如果我同时按“左键”或“右键”同时按“L shift”,我会让我的角色(玩家)更快地改变它的速度。问题是,我想让这个“破折号”在达到我设定的极限时停止。我希望我的角色不要一次冲刺超过 400 次。有什么可能的方法我可以用..吗?因为我尝试了很多,但我仍然找不到任何有效的方法。这是设置破折号的主循环的一部分。char 在循环之前定义。

运行时:

0 投票
0 回答
24 浏览

pygame - 精灵的时间延迟

我只学习 pygame 几个星期,主要是遵循不同的街机风格游戏教程。已经改编了一个乒乓球游戏,我试图插入两个延迟,一个是当球击中边界(球拍后面的屏幕边缘)时,然后是重置和时间延迟,然后球再次从中心开始移动。通过这种方式,玩家可以看到球接触屏幕边缘的位置,然后将所有精灵重置到其原始位置,然后再次离开。

这是当前代码:

我的猜测是那里需要更新,但我尝试在几个不同的位置添加 asl.update() 和 pygame.display.flip() 以尝试让它在进入第二个之前重置精灵time.delay 但它永远不会起作用,延迟只会持续更长时间,球一旦回到中心就会移动。

0 投票
1 回答
138 浏览

python - 尝试每 0.25 秒改变移动角色的图像 PyGame

所以我试图通过在他走路时在两张图片之间切换来“动画”我的角色在 pygame 中。我尝试使用这里提到的代码:在 PyGame 中,如何在不使用睡眠功能的情况下每 3 秒移动一次图像?但结果不太好。事实上,我的角色在行走时只使用一张图片。这里是代码的一部分和一些变量:

  • self.xchange:x 轴上的变化
  • self.img:角色静止时的图像
  • self.walk1 和 self.walk2:我试图用来为我的角色设置动画的两个图像
  • self.x 和 self.y 是坐标 screen 是表面

.

为什么它不起作用?

0 投票
1 回答
127 浏览

python - 如果我的玩家降落在某个街区,我如何杀死它

所以我的问题是,当我降落在第 3 块或熔岩上时,我的玩家并没有死,我尝试了 if tile == '3': display.blit 和里面的东西,但在我放 pygame.退出并在下一行 sys.exit 它说

DeprecationWarning:需要一个整数(获取类型浮点数)。不推荐使用int隐式转换为整数,并且可能会在 Python 的未来版本中删除。obj_rect = pygame.Rect(background_object[1][0] - scroll[0] * background_object[0],

那么我的解决方案是什么,如果你需要我的地图,它就是。稍微解释一下。0 是空气,1 是泥土,2 是草,3 是熔岩。请全屏查看地图,否则它看起来会一团糟。

熔岩.jpeg [ Grass.png 抱歉它很小,但我不在乎熔岩很大] 2 idle 位于播放器动画文件夹中的空闲集中,运行位于播放器动画文件夹中的运行集中。对不起,如果有小,但我希望熔岩很大,并且由于弃用警告代码没有运行并且刚刚结束。污垢.png idle_0.png idle_1.png idle_2.png run_0.png run_1.png

地图.txt000

0 投票
1 回答
103 浏览

python - 如何有效地在pygame中创建计时器?

我想每隔(一些)秒产生一个敌人,比如5。

我可以:

但是这样做有一个问题:当我将 FPS ( clock.tick()) 从 120 更改为 60 时,敌人的生成率将保持不变。

我也可以只做一个变量:

但这对我来说似乎是不好的做法。

0 投票
1 回答
229 浏览

python - 为什么我在pygame中得到一个恒定的0 fps

即使我将时钟刻度设置为 60 并且它在正确的空间中,我也没有得到任何帧。我也知道它不是我的电脑,因为我运行过帧数更好的大型游戏。它也不能是缩进,因为我的意图是正确的。

任何帮助将不胜感激,我一直在努力解决这个问题。关于我应该如何组织我的代码还有其他提示吗?