2017-01-27 1 views
0

私はPythonを学んでいて、いくつかのグラフィックを試したかったので、SFMLを試してみました。私は次のプログラムを書いたが、すべてが良いようだが、ウィンドウは約6秒後に白黒になります(しかしスプライトを描き続けます)。ウィンドウが「非アクティブ」になっている何かが欠けていますか?数秒後にPython SFMLウィンドウが暗くなる

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

イベントをポーリングする必要があります。そうしないと、ウィンドウマネージャーにウィンドウが反応せず、反応しないとみなされます(通常、暗くなったり明るくなるなど、別の方法で描画されます)。

私は(そう、これはバグが含まれる場合があります)SFMLバインディングを使用したことがありませんが、あなたが最も可能性が高い。このようなものが必要です:

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

トリックをしました!ありがとうありがとう! – Instabrite

関連する問題