Tema: Re: Q: windows, linksmakočiai ir Python
Autorius: Grzegorz Brzęczyszczykiewicz
Data: 2020-12-08 16:41:28
2020-12-08 16:10, Laimis rašė:

> Nelabai supratau, kaip/ar du skirtingi būdai (1 ir 2) veikia atskirai,
> ar kartu (lygiagrečiai), bet matau tokias problemas:

Jie veikia arba kartu, lygiagrečiai (iš dviejų skirtingų programų), arba 
atskirai (toje pačioje, mojuojant 'useJoystickPyGame').

> 1. pygame.event.wait() ir kiti pygame.event.*() turi būti kviečiami iš
> main thread'o. Multithread'ingui reikia:
> https://www.pygame.org/docs/ref/fastevent.html#module-pygame.fastevent

Viskas buvo viename thread'e. Truputį pakontempliavau, išmečiau ašių 
apdorojimus į atskirus thread'us. Berods veikia (bent jau UI lygmenyje), 
reiks pasileist Train Simulator.


> 2. Užmiegi ir kiekvienoje while() iteracijoje pameti po vieną event'ą
> (pygame.event.wait()), kurio neapdoroji. Nereikia čia to
> pygame.event.wait(), jei event'ų eilę iššluoji su pygame.event.get(), o
> jei jo ir reikia, tai gal su timeout'u ir tada jau reikia apdoroti ir jo
> gražinamą event'ą, kuris dabar tiesiog pametamas;
> 
> 3. Jei naudoji pygame.event.get(), tai nereikia ir pygame.event.pump()

Čia ko gero būsiu privėlęs.
Don't drink and derive ;)

Iš kitos pusės, jei pyGame langas praranda fokusą, informacija jame 
neatnaujinama. Man taip irgi netinka, reiks skaityti FM.


-- 
Grzegorz

Chrząszczyrzewoszyce, powiat Łękołody