2017-01-27 4 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