python变量没有被重置

时间:2013-10-26 00:29:26

标签: python variables global-variables reset

我目前正在使用pygame制作游戏。我现在的游戏有一个问题。

  1. 屏幕滚动很好,但是一旦图像在第二次时间之后完全滚动(第一次工作正常),屏幕blit就会变得奇怪,游戏中所有的精灵在以前的地方留下了大量的小径(检查screnshots)。这只是因为某些因素导致变量" x "在第二次超过屏幕宽度后,它不会被重置为0,它会在第一次等于1384后重置,但不会在第二次之后重置..
  2. 非常感谢任何帮助。

    http://pastebin.com/ub6gi8Zn(粘贴代码消失了)

    Blit working fine before background has repeated itself twice SCREENSHOT Blit working fine before background has repeated itself twice **SCREENSHOT**

    gyazo.com/aa5626d4927b0b9299ce2ec42c9ba501 - 在背景重复两次后 - 抱歉无法添加超过2个链接

1 个答案:

答案 0 :(得分:1)

问题是您没有清除屏幕缓冲区。

也就是说,精灵和背景只会重新绘制,因为你没有删除上一次在屏幕上绘制这些精灵的像素!

我以前从未使用过pygame,但这是一个通用的图形编程问题,我试着抬头看起来你正在寻找的函数是screen.fill(some_color)。用给定的颜色填充整个屏幕,以便最后绘制的帧的输出消失。

顺便说一下,这也是因为你的“背景”没有填满整个屏幕区域。