Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Zajímavé. Můžu mít dotaz? Proč používáš timery i na pohyb? inte0 = setInterval(function(){ positi…
Flash_Gordon 27.06.2016 09:39
Flash_Gordon
vyzerá to tak ze problem sa vyriesit nedá.. zalezi od klavesnice ako sa sprava. pouzijem asi WASD mi…
Paper96 27.06.2016 09:43
Paper96
Další řešení na zkoušku by bylo nějak takto: setInterval(function() { update(); draw(); }, 1000/FPS…
Flash_Gordon 27.06.2016 09:45
Flash_Gordon
Ano normalny clovek by mal trvalo nastavenu len jednu periodicky volanu fciu, v nej robil vsetjko po…
MM.. 27.06.2016 09:52
MM..
to je pravda :) funkciu refresh(); mam .. neviem preco to necheckujem v nej. poslední
Paper96 27.06.2016 10:17
Paper96

Další řešení na zkoušku by bylo nějak takto:

setInterval(function() {
          update();
          draw();
        }, 1000/FPS);
        
        function update() {
          if(keydown.space) {
            player.shoot();
          }
        
          if(keydown.left) {
            player.x -= 5;
          }
        
          if(keydown.right) {
            player.x += 5;
          }

To znamená vykreslovat všechno jednotně a pravidelně.
Nevolat timer pro každou klávesu.

Zpět do poradny Odpovědět na původní otázku Nahoru