Za běhu programu se automaticky zachytávají různé události, jako například stisknutí klávesy, pohyb s myší, vstup a výstup kurzoru z okna atd. K zachytávání událostí slouží následující příkazy. Pro zjišťování stisku kláves, tlačítka myši, nebo jiné události je třeba použít příkaz Čti klávesu nebo tlačítko myši (s čekáním na stisk, nebo bez něj).
Konstanty kláves a tlačítek myši najdete na stránce Klávesy a tlačítka myši, konstanty pro další události na stránce Události (používají se s příkazem Přečtená událost).
Čti klávesu nebo tlačítko myši (nečekej na stisk) (For modes 2D, 3D, Console)
Program zkontroluje stav kláves a tlačítek myši, abyste mohli ošetřit jejich stisknutí, držení a puštění, a poté bude pokračovat v provádění kódu bez čekání.
Podobně jako u příkazu Čti klávesu nebo tlačítko myši (čekej na stisk) lze zadat do závorek za příkaz událost, kterou má Baltík přečíst.
Pomohla Vám nápověda?
Čti klávesu nebo tlačítko myši (čekej na stisk) (For modes 2D, 3D, Console)
Program je pozastaven do té doby, dokud nestisknete, nepodržíte nebo nepustíte nějakou klávesu, nebo tlačítko myši.
Příkaz se nejčastěji využívá v cyklech, pokud chcete kontrolovat stisk kláves, tlačítkek myši nebo jiné události. Bez něho by nebylo možné zjistit, jaké klávesy byly stisknuty.
Pokud si již Baltík ve frontě kláves pamatuje, že jste před příkazem stiskli, podrželi nebo pustili nějakou klávesu a nevymazali jste poté frontu kláves, tak tento příkaz běh programu nepozastaví a bude pokračovat v provádění dalšího kódu.
Do závorek za příkaz můžete zadat dobu v sekundách, po kterou bude Baltík čekat na událost (stisk klávesy nebo tlačítka myši):
Lze také definovat, na jaké události má Baltík čekat. Stačí zadat konstantu požadované události do závorek za příkaz. Jestliže chcete čekat na více událostí najednou, spojte je pomocí plus. Čekání potom může skončit jenom definovanými událostmi, pokud tedy například zadáte čekání na událost stisknutí tlačítka myši, při stisknutí klávesy se nic nestane.
Čekání na určité události lze také časově omezit, do závorek před události vložte čas v sekundách a čárku.
Tento příkaz vrací klávesu, která byla stisknuta během události a kterou můžete uložit do proměnné:
Pomohla Vám nápověda?
Smazat vstupní frontu (For modes 2D, 3D, Console)
Vyčistí frontu událostí klávesnice a myši tak, že tam nezbydou žádné informace o stisklých klávesách nebo tlačítkách myši.
Některé klávesy zpracovává počítač rychleji, některé pomaleji. Je totiž rozdíl, má-li počítač v reakci na stisk klávesy pouze vypsat znak na obrazovku nebo provést nějakou složitější akci. Při běhu programu proto často nastávají situace, že uživatel stiskne další klávesu dříve, než počítač zpracuje klávesu předchozí.
Aby uživatel nemusel myslet na to, kterou klávesu počítač zpracovává rychle a kterou pomalu, staví se v počítači jednotlivé stisknuté klávesy do fronty, v níž čekají, až si jich program všimne.
Často se stane, že potřebujete zapomenout na všechny předchozí stisknuté klávesy a zaručit, že program bude reagovat až na klávesu, která byla stisknuta po nějakém definovaném okamžiku. Tento úkol řeší prvek Vyprázdni frontu kláves, který frontu kláves vyčistí.
Pomohla Vám nápověda?
Zapnout / vypnout vstup z klávesnice a myši (For modes 2D, 3D)
Vypne nebo zapne vstup z klávesnice a tlačítek myši. Znamená to, že všechny klávesy nebo tlačítka myši, co uživatel stiskne v době vypnutého vstupu, budou ignorovány.
Pomohla Vám nápověda?
Je klávesa stisknuta (For modes 2D, 3D, Console)
Vrátí pravdu, pokud je zadaná klávesa stisknuta.
Pomohla Vám nápověda?
Přečtená událost (For modes 2D, 3D)
Baltík si pamatuje poslední událost, která byla provedená. Tento příkaz jí vrátí.
Pomohla Vám nápověda?
Kód přečtené klávesy (For modes 2D, 3D, Console)
Tento příkaz vrátí scan kód klávesy, která byla naposledy zpracovávána (každá klávesa má originální kód).
Pomohla Vám nápověda?
Znak přečtené klávesy (For modes 2D, 3D, Console)
Tento příkaz vrací poslední znak přečtený z fronty kláves (tj. klávesy, která byla naposledy zpracovávána).
Pomohla Vám nápověda?


Shledali jste tuto informaci pro Vás užitečnou?
Máte nějaký dotaz nebo připomínku k tomuto tématu? Napište nám.
©1978-2010 SGP Systems

Nadřazená stránka | Předchozí stránka | Další stránka