funcao check() da classe Input ira retornan verdadeiro em todo frame que a tecla estiver pressionada. ESPECIFICANDO ESTADOS DE TECLASAlgumas vezel voce ira checar um estado mais especifico de uma tela, se ela foi pressionada, ou se ela acabou de se liberada. FP contem funcoes simples para estes casos, e tem um uso bem similares:package{ import net.flashpunk.Entity; import net.flashpunk.utils.Input; import net.flashpunk.utils.Key; public class MyEntity extends Entity { public function MyEntity() { } override public function update():void { if (Input.pressed(Key.SPACE)) { // A barra de espaco foi pressionada NESTE frame. } if (Input.released(Key.SPACE)) { // A barra de espaco foi liberada NESTE frame. } } }}A funcao pressed() ira retornar verdadeiro no frame em que a tecla for pressionada, o mesmo para release(), que ira retornar verdadeiro no frame que a tecla for liberada.A cada frame o estado de cada tecla e atualizado, entao quando uma tecla e pressionada, seu estado sera "pressed" para o frame em que foi pressionado, e "held" para os proximos frames em que a tecla continua pressionada.DEFININDO CONTROLESAs vezes e melhor ter controles mapeados para diferentes teclas, ja que e trabalho disperdicado ter que repitir longos trechos de codigo para cada chave, FP deixa voce definir e controlar os nomes tambem.Por exemplo: Eu irei definir dois controles diferentes, "Shoot", para atirar, e "Jump", para pular, e atribuirei teclas para cada:package{ import net.flashpunk.Entity; import net.flashpunk.utils.Input; import net.flashpunk.utils.Key; public class MyEntity extends Entity { public function MyEntity() { Input.define("Jump", Key.Z, Key.UP); Input.define("Shoot", Key.SPACE, Key.X, Key.C); } override public function update():void { if (Input.pressed("Jump")) { // Uma (ou varias) das teclas "Jump" foi pressionada neste frame. } if (Input.check("Shoot")) { // Uma (ou varias) das teclas "Shoot" esta pressionada neste frame. } } }}As funcoes check(), pressed(), e released() aceitam teclas ou variaveis de controle como parametro, Entao voce pode usar variaveis de controle do mesmo jeito que usa variaveis de teclas individuais.ESTADOS DO MOUSESimilar a leitura de teclas, voce pode checar o stado do mouse usando as funcoes providenciadas pela classe Input, assim:package{ import net.flashpunk.Entity; import net.flashpunk.utils.Input; public class MyEntity extends Entity { public function MyEntity() { } override public function update():void { if (Input.mouseDown) { // O mouse esta pressionado. } if (Input.mousePressed) { // O mouse foi pressionado neste frame. } if (Input.mouseReleased) { // O mouse foi liberado neste frame. } } }}E se voce querer que sua entidade siga as coordenadas do mouse, voce pode fazer isto:package{ import net.flashpunk.Entity; import net.flashpunk.utils.Input; import net.flashpunk.FP; public class MyEntity extends Entity { public function MyEntity() { } override public function update():void { // Atribui a posicao do mouse para a entidade(relativo a Camera). x =Input.mouseX; y =Input.mouseY; // Atribui a posicao do mouse para a entidade(relativo ao World). x =FP.world.mouseX; y =FP.world.mouseY; } }}Fonte : FlashPunkCreditos : ChevyRay