[python] Obecn� rada
Filip Štědronský
regnarg na seznam.cz
Pátek Červen 27 16:33:22 CEST 2008
On Pá, čen 27, 2008 at 03:26:36 +0200, Tomy Novella wrote:
> no predsa len ostavam pri pyGame ;-))
Dobrý den,
odborník na PyGame nejsem, takže mé odpovědi berte
s rezervou, ale myslím, že zhruba vím, o co jde.
> co to znamena, ze je to skonvertovane do "the same pixel format as our
> display" ??
> a co je vlastne Ten display?
Display je pojem převzatý X Windowing Systemu ("Xek",
grafického prostředí používaného v unixových systémech)
a znamená něco jako zobrazovací zařízení. Zjednodušeně
řečeno obrazovka (ve skutečnosti je to komplikovanější,
každý displej může mít několik obrazovek, pokud má uživatel
více monitorů, a také k němu patří vstupní zařízení).
Pixel format znamená nejspíše způsob vyjádření barev,
tedy barevný model (na většině klasických počítačových
systémů RGB) a hloubku (počet barev). Obrázek je
zkonvertován do stejného formátu, aby jej bylo možné
zobrazit přímo.
> dalsia otazka k pygame(a zrejme ku vsetkych GUI knizniciam vseobecne):
> je rozdiel, ci napisem
> pygame.time.delay(100) alebo
> time.sleep(0.1)
Tady jen odhaduji, ale všechny grafické knihovny mají
něco jako mainloop, tedy hlavní smyčku, která drží
řízení (na rozdíl od CLI aplikací, kde má řízení toku
v rukou programátor). Což znamená, že připravíte objekty,
spustíte mainloop a čekáte na události. Ale po větišnu
běhu programu se aktuální kód vykonává z PyGame, ne
Vašeho skriptu, tedy PyGame drží řízení a předává ho jen
při určité události.
Pokud nepoužíváte vlákna (thready), může vždy probíhat
pouze jeden kód (blbá formulace) najednou, takže když běží
sleep, nemůže se dít nic jiného. Hra se zastaví, včetně
přednastavených pohybů a nejnutnějšího překreslování.
pygame.time.delay pravděpodobně předá řízení hlavní smyčce,
aby v průběhu pauzy mohla obsluhovat události a vykonávat,
co má. Po skončení dané prodlevy se tento "vnořený mainloop"
ukončí a program může pokračovat. Ale to je jen teorie.
Přeji hezké odpoledne,
regnarg
--
regnarg --- http://rg.pretel.cz -- JID: regnarg na jabber.cz
V péči o štěstí druhých nacházíme své vlastní. --Platón
Přátelství může trvat jedině mezi dobrými lidmi. --Cicero
Další informace o konferenci Python