2017-01-27 9 views
0

Also ich lerne Python und wollte einige Grafiken versuchen, also gebe ich SFML einen Versuch. Ich habe das folgende Programm geschrieben und alles scheint gut zu sein, aber das Fenster wird nach etwa 6 Sekunden schwarz und weiß (aber es zeichnet weiterhin das Sprite). Fehle ich etwas, das dazu führt, dass das Fenster "inaktiv" wird?Python SFML-Fenster wird nach ein paar Sekunden dunkel

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() 

Antwort

1

Sie müssen Ereignisse abfragen. Andernfalls reagiert das Fenster nicht auf Ihren Fenstermanager und wird als nicht reagierend angesehen (normalerweise auf eine andere Weise gezeichnet, z. B. abgedunkelt oder heller).

Ich habe noch nie verwendet die SFML Bindungen (so könnte dies Fehler enthalten), aber Sie werden wahrscheinlich brauchen etwas wie folgt aus:

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

, die den Trick tat! Danke Danke! – Instabrite

Verwandte Themen