Estou trabalhando em um jogo para PC de rolagem lateral em 2D que usa a biblioteca de jogos SFML. O problema que não consigo resolver é que em muitos teclados a combinação de três ou mais teclas (como w + d + k) não está funcionando. Existe alguma maneira de resolver esse problema?
15
Respostas:
Você não pode. Pelo menos, não como desenvolvedor de jogos.
Como jogador, você pode comprar teclados mais caros com recursos "anti-fantasma", mas, caso contrário, a limitação faz parte do próprio hardware; portanto, não há nada que você possa fazer no software para resolvê-lo.
Confira esta página de demonstração para ver como funciona o teclado fantasma, além de uma demonstração: http://www.microsoft.com/appliedsciences/antighostingexplained.mspx
Portanto, suas melhores apostas são:
Historicamente, muitos jogos de PC utilizado teclas modificadoras ( Ctrl, Alt,Shift ), como parte de seus controles, porque essas chaves foram wired para lidar com sendo pressionado juntamente com outras teclas, para evitar o efeito fantasma. Essa prática meio que caiu em desuso durante os anos 90, porque as teclas modificadoras estavam sendo cada vez mais usadas pelo sistema operacional, o que interferia no jogo.
Posteriormente, certos gêneros de jogos tiveram seus controles unidos em torno de clusters de teclas, principalmente o gênero FPS em torno de WASD+ mouse, mas outro exemplo seria jogos indie japoneses em torno deZXC + setas. De uma maneira auto-realizável, como a maioria dos jogos usava esses clusters, os fabricantes de teclados também garantiam que os fantasmas fossem minimizados nessa área; portanto, se você seguir os mesmos controles usados por outros jogos populares, também evitará fantasmas.
Olhando para o seu exemplo, We Destá bem, mas Knão está; por acaso você está usando Kcomo controle direcional? Nesse caso, considere usar as teclas de seta.
fonte
Compre um teclado melhor.
A fantasma é causada pelo próprio hardware. Mesmo muitos teclados de jogos ainda terão esse problema; eles investem apenas na correção do problema para chaves "comuns" como WASD (mas não 'K' por exemplo).
http://www.microsoft.com/appliedsciences/antighostingexplained.mspx
fonte