Ahoj,
udalosti KeyDown se mi v C# aplikaci vytvareji trhane. Tj. pokud klavesu stisknu a drzim, tak je udalost vygenerovana pri samotnem stlaceni klavesy, pak chvili nic a teprve pak zacne C# vytvaret udalosti opakovane.
Jak lze toto chovani zmenit ?
Diky Dusan
Fórum › .NET
C# KeyDown - trhane
To je snad normální vlastnost, ne? Zkus to klidně i jinde v systému, všude se to takhle chová. Nejdřív stiskneš klávesu, napíše se jeden znak, pak vteřinu nic a teprve pak se začnou psát další.
V SDL napriklad je sice toto chovani vychozi, ale jestli se spravne pamatuju, tak jej lze jednoduse prenastavit.
Programuju 2D hru a proto potrebuju, aby se udalosti generovaly opakovane hned od stlaceni klavesy.
Dusan
V tom případě, bych se nespoléhal na stisk klávesy a její opakování, ale jednoduše bych si nastavil třeba ++, časovač, a pokud je klavesa stisknuta, tak se vakona stejna udalost, jako: pokud je klavesa zmacknuta (nyni ve vasem kodu) xD
a pokud klavesa neni stisknuta, tak se udalost přeruši xD, bo ne?. :D
Odporucam pouzit XNA, aj ked sa mi hnusi instalovat dalsi balast, po .NET :), ale riesi dost vela veci, je to aj hardwarovo akcelerovane a ked je to 2D hra tak by mala chodit aj na XBox-e (pokial by si tam nemal nejake extra Windows zalezitosti).
K veci: ja som to riesil tak, ze som mal pole (asi List<>) a v KeyDown evente som pridal klavesu do toho pola a v KeyUp odstranil. Vacsinou mi to fungovalo, ale nie vzdy takze som sa vtedy na to vybodol :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
KeyDown a diakritika — založil davidus
Pohyb objektov KeyUp - KeyDown — založil Plui
Lazarus a KeyDown - Unknow identifier VK_DOWN — založil vojtěch
Moderátoři diskuze