Diskuze: Animace textu

Tvůrce

Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Zkus tenhle modul:
https://docs.python.org/…y/sched.html
Nedávno jsem na něj narazil a myslím, že by ti mohl pomoc. 
Hned ten první příklad je myslím to co potřebuješ 
Asi jsem nepochopil, k čemu daný modul vlastně slouží. Můžeš napsat příklad?
Zkus tohle. Je to napsané jen tak na rychlo, ale myšlenka snad je dost
jasná 
import sched, time
from threading import Thread
s = sched.scheduler(time.time, time.sleep)
text = list(reversed("Tohle je text"))
def vypis():
print(text.pop())
for i in range(len(text)):
s.enter(i,1,vypis)
t = Thread(target=s.run)
t.start()
time.sleep(1)
print("Něco jiného")
time.sleep(2)
print("Něco jiného2")
Jinak se omlouvám, to co jsi zřejmě potřeboval, byl modul threading.
Modul sched je v tomhle případě jako jít s kanónem na vrabce 
Takhle je to jednodušší:
from time import sleep
from threading import Thread
def vypis():
for c in "Text k vypsaní.":
print(c)
sleep(1)
Thread(target=vypis).start()
print("Hlavní vlákno.")
sleep(2)
print("Tady můžeš pokračovat dál...")
sleep(1)
print("A tak dále...")
A co zkusit ohandlovat vypisování v nekonečném cyklu programu? Např. za pomoci modulu time?
Teoretických řešení je více, ale praktické řešení a jediné správné je využít frontu událostí (event queue).
Udělej následující:
Koukám se na dokumentaci a PyGame má podivně řešený event loop - nebo spíš hodně primitivně. Dokumentace, bohužel, neuvádí, jestli je časovač reentrantní, takže se může stát, že se bude událost objevovat ve frontě příliš často a dojde k tzv. throttlingu. Ale vzhledem k tomu, že mnohem horší problémy bude mít už samotný main loop, asi to bude to poslední, co by tě zajímalo.
Mimochodem, myslíš že by byl nějaký problém to spáchat přes ta vlákna? Klidně se rozepiš, když budeš mít čas, tahle problematika je zajímavá.
Kdykoliv se objeví vlákna, je to vždy velký problém. Práce s vlákny spadá do kategorie SLOŽITÉ a pokud se objeví v kódu, stává se vývoj složitějším o několik řádů.
Jen takový dotaz. Neřeší v pythonu tyhle problémy s vlákny právě GIL? Nebo to platí obecně?
Platí to obecně. GIL pouze zajišťuje sekvenční provádění bytecodu.
Zobrazeno 11 zpráv z 11.