Em uma palavra: Swiping.
Joguei a edição do campeonato Pac-Man no meu telefone Android e o que eu pensei que realmente funcionou é que, enquanto havia um joystick na tela, você não precisava tocá-lo para mover o Pac-Man na direção correta. Se o seu dedo caiu do joystick, não importava. Tudo o que importava é em que direção você moveu o dedo.
Para subir, deslize para cima. Para descer, deslize para baixo. Para mover para a esquerda, deslize para a esquerda. Para mover para a direita, deslize para a direita.
Você pode facilmente tornar o contexto de deslizamento sensível às regiões e ações da tela que estão ocorrendo atualmente dentro do jogo. Imagine que seu telefone está no modo paisagem e você está segurando-o como um controlador de videogame. A metade esquerda da tela pode ser reservada para o movimento usando o deslize descrito acima. A metade direita da tela pode ser usada para ações como pular, atirar, proteger, quaisquer que sejam as habilidades de jogo que você deseja que o seu jogador use o golpe de maneira muito semelhante. Ou se você tiver apenas uma habilidade (como pular no Super Meat Boy) - apenas trate a metade direita da tela como um botão.
Atualizar
Estávamos discutindo isso no bate-papo e parecia que minha solução, da maneira descrita acima, é muito parecida com um bastão virtual que se move quando você levanta e coloca o dedo. Quero elaborar que esse não é o caso e é realmente muito mais flexível do que isso.
A imagem acima mostra o padrão de deslizamento que se pode levar para mover Pacman no quadro. Observe que a ação tomada não se baseia em onde você coloca o dedo pela primeira vez. Se você acidentalmente mover o dedo muito longe ao deslizar para a direita ou não o suficiente ao deslizar para baixo, tudo bem. Com esta implementação, desde que você tenha deslizado o suficiente para que ele se registre corretamente no software, ela será usada e o local onde seu dedo terminou como o próximo ponto de partida, ou se você tirar o dedo, ele usará o próximo local em que abaixe o dedo.
Como eu disse antes, você pode aplicar isso a um jogo de plataforma apenas dividindo os controles em regiões separadas, para que seus toques e toques façam coisas diferentes, dependendo de onde na tela você executou a ação. A rota óbvia é fazer o movimento da alça do lado esquerdo usando apenas deslizar. Em seguida, o lado direito seria usado para lidar com ações e habilidades do jogador usando qualquer combinação de furtos e toques.
Eu achei os controles de toque e retenção na tela os mais responsivos.
Se a pessoa tocar no lado esquerdo, corra para a esquerda (até soltar). Se a pessoa tocar no lado direito, corra para a direita.
RunRunRiot! é um exemplo disso.
Quanto ao salto, você pode dar um toque no meio da tela (usando uma das mãos).
Exemplos (iPad com paisagismo) Correndo para a direita
Saltando para a direita
(L * = toque esquerdo)
Saltando para a esquerda
fonte
A melhor entrada para um jogo de tela sensível ao toque que encontrei é nesses jogos de plataforma realmente simples, quando tudo o que você precisa fazer é tocar na tela para pular! Qualquer jogo que use o acelerômetro para entrada de movimento para mim é muito desorientador!
Esse é um dilema comum ao se desenvolver em uma tela de toque, se ao menos houvesse um anexo do D-pad popular. Eu acho que você terá que tentar sua idéia de bola na tela.
Talvez você possa ter a entrada esquerda e direita na extremidade esquerda e extrema direita da tela e subir e descer usando a parte superior ou inferior da entrada esquerda ou direita. Eu acho que faz sentido?
fonte
Você pode considerar ter controles mais precisos somente quando o personagem do jogador estiver no ar.
Por exemplo, se o lado direito da tela controlasse a direção lateral, você poderia fazer com que todo o lado esquerdo fosse para o salto. Uma vez no ar, a metade inferior esquerda da tela pode ser "descida" e a metade superior pode ser um salto duplo.
Outra opção seria adotar um esquema de salto como o Jetpack Joyride ou aqueles jogos do tipo "Caverna", em que quanto mais tempo você "levanta", mais alto vai. Ele tem o potencial de ser bastante preciso e acho que funcionaria bem com um jogo de plataformas do tipo Super Meat Boy, supondo que os níveis sejam projetados adequadamente.
fonte