
KeyDown | problem so stlacanim viacero klaves
Dobrý den :)
Ucim sa html5 a spravil som si jednoduchý kod na pohyb hraca.. Problem je ze ked mam stlacených viac ako 4 alebo 5 klaves naraz tak uz to necheckuje pre dalsie keydown.. Niekde som cital ze problem je s usb klavesnicou ze tam je nejaky limit.. Ale ako to mam potom spravit aby to fungovalo? V hre je predsa nutne niekedy mat stlacenych v jednu chvilu viac ako 4 klaves.. neviem si poradit
K cemu je mit stisknutých najednou 5 kláves?
neviem presne preco ale na mojej klavesnici ked drzim (dolnu sipku, sipku dolava a space bar) pre pohyb dole dolava a strielanie tak uz nemozem robit napriklad strielat alebo nemozem ist dole ale idem dolava a strielam.. Ale ked to skusam (hornu sipku, sipku doprava a space) tak to funguje vzdy.. nechapem preco je tam nejaký blok alebo co :/
takze nefunguju ani 3naraz?
Si si isty ze mas ten program napisany spravne?
este sa len ucim takze islo by to urcite spravit rozumnejsie.. ale myslim si ze by to fungovat malo -> 53vgr mozes pozriet.. nechapem preco to nefunguje spravne..
ked si otvoris notepad a zmacknes tie sipky a potom medzernik, tak to pise medzeru?
funguje to rovnako takze nie.. ked drzim dole a vlavo a stlacim medzernik tak to uz nenapise nic.. zase to ale funguje ked drzim hore a vpravo a medzernik...
Moja stara cherry vypada ze sa tiez tak sprava. Pouzi na strielanie inu klavesu. Ono to zavisi od toho jak ma klavesnica raster a firmware
neda sa to nejako obísť? napriklad ze ked stlacim danu klavesu tak to povie akoby ta klavesa uz bola nestlacena?
Opbist sa to da tak ze si kupis inu klavesnicu.
no jasne, ale tu nejde len o mna ale aj o potencionálnych hracov :P zmenim ovladanie na wasd a myš to funguje najlepsie na vsetkých zariadeniach
Zajímavé.
Můžu mít dotaz?
Proč používáš timery i na pohyb?
Jednodušší by bylo přece přímo:
U střílení to smysl má:
http://jsfiddle.net/loktar/3M6Fa/?utm_source=websi te&utm_medium=embed&utm_campaign=3M6Fa
ak by som nemal pri pohybe interval tak by sa pohol hrac len raz a zastavil sa
vyzerá to tak ze problem sa vyriesit nedá.. zalezi od klavesnice ako sa sprava. pouzijem asi WASD miesto sipiek a strielat sa bude myšou. dakujem :)
Další řešení na zkoušku by bylo nějak takto:
To znamená vykreslovat všechno jednotně a pravidelně.
Nevolat timer pro každou klávesu.
Ano normalny clovek by mal trvalo nastavenu len jednu periodicky volanu fciu, v nej robil vsetjko potrebne, a v onkeydown/onkeyup len nastavil 1 premennu a okamzite prec.
to je pravda :) funkciu refresh(); mam .. neviem preco to necheckujem v nej.