Atualmente, estou escrevendo um jogo no XNA por diversão que usa C #. Eu tenho meus sprites carregados e quando o personagem se move para a direita, ele parece estar correndo para a direita e quando ele se move para a esquerda, ele parece que está correndo para a esquerda.
Estive procurando em todos os lugares um bom exemplo de codificação de como criar uma habilidade de salto. Eu li todas as coisas de física que posso suportar e não ajuda quando não consigo descobrir como usar a barra de espaço para pular, mas não consigo impedi-las de usar o espaço, pule novamente até que elas pousem.
O que eu fiz no passado é fazer com que seu personagem mantenha uma velocidade em cada direção. Quando quero um salto, simplesmente digo vel_y - = (velocidade do salto aqui). E é claro que tenho uma gravidade constante.
Um outro recurso realmente interessante que você deve considerar na implementação é o conceito completo de "quanto mais tempo você pressionar o botão, mais alto". Eu odeio quando os jogos saltam apenas uma única variável constante e não me permitem ter algum sentimento de controle.
Ah, e saltos na parede são legais =]
fonte