1

我一直在使用 Pygame 和 Livewires 为家庭作业制作一个小游戏。我一直在尝试调试它,但没有成功;在执行主循环之前,我无法查看要查看的变量。虽然我可以按 F10 跳过主循环,但这只会停止 Autos and Watches 窗口的工作;显然,他们只能在调试器暂停游戏时记录变量。

有没有办法让我使用调试器在运行时查看变量?因为无论我在调试器暂停时做什么,我都无法查看我想查看的游戏对象内部的数据

4

1 回答 1

0

感谢Jack Zhai的建议,我想通了。

  1. 当断点被命中时,取消暂停调试器(快捷键:F5)

  2. 玩到您要调试的游戏中的点。

  3. 使用 Break All 重新暂停调试器(快捷键:Ctrl-Alt-Break)

  4. 按 F10 几次;这使它在主 livewires 循环中多走几步。

  5. 在自动窗口中,有一个条目包含游戏对象的列表。翻阅它,直到找到你要找的那个。在我的例子中,对象列表是 self._objects。我正在寻找的对象是第二个,换句话说,就是 self._objects[1]。

  6. 您要查找的对象的下拉箭头显示对象的成员。如果您想以一种不那么繁琐的方式查看对象的属性,请使用交互式调试器将该对象分配给一个变量。这样,您可以通过在交互式调试控制台中键入 objectNameHere.objectValueHere 来查看其值。

在我的例子中,我必须输入 player = self._objects[1] 来分配它,然后通过在调试控制台中输入 player.x 可以看到玩家的 x 位置。

--

我知道这个答案可能只适用于我的具体问题,所以如果其他人有更好的答案,请为他人着想。

于 2016-09-19T21:57:17.300 回答