Python SFML窗口在几秒钟后变暗

时间:2017-01-27 21:18:59

标签: python sfml

所以我正在学习Python并想尝试一些图形,所以我试试SFML。我编写了以下程序,一切看起来都不错,但是大约6秒后窗口会变成黑白(但它会不断绘制精灵)。我错过了导致窗口“无效”的东西吗?

from sfml import sf
from math import *
texture = sf.Texture.from_file('gum.png')
sprite = sf.Sprite(texture)
i = 0
w = sf.RenderWindow(sf.VideoMode(1024, 768), "Sprite Test")
w.clear()
w.active = True
while w.is_open:
    i += .1
    if i == 180:
        i = 0
    #w.clear()
    sprite.position = (cos(i) * i + 500, sin(i) * i + 350)
    w.draw(sprite)
    w.display()

1 个答案:

答案 0 :(得分:1)

你必须轮询事件。否则窗口将不会响应您的窗口管理器并被视为无响应(通常以不同的方式绘制,例如变暗或更亮)。

我从未使用过SFML绑定(所以这可能包含错误),但你很可能需要这样的东西:

while w.is_open:
    while w.poll_event(e):
        # handle events here
    i += .1
    # Here follows your code as-is
    w.display()